Данные - это фактические данные, передаваемые методу обслуживания, например: данные формы. и params содержит провайдера (т.е. REST, Socket.io или Primus), сведения о соединении, аутентифицированные данные пользователя и другую информацию, относящуюся к этой услуге.
Для метода post вы можете использовать метод create (data, params) службы, которую вы вызываете, и выполнять там свою деятельность, например, создавать записи, как показано ниже. [116 ]
app.use('/messages', {
messages: [],
create(data, params) {
this.messages.push(data);
// Your post activity here
return Promise.resolve(data);
}
});
И при использовании почтальона можно использовать URL http: // localhost: 3030 / messages и в теле запроса укажите JSON, который вы хотите передать в качестве данных в метод POST [117 ]
Я думаю, что узнал, какова проблема.
Если я просматриваю к URL:
с приложением WcfTestClient я могу успешно получить сервисные метаданные.
Таким образом, ошибка действительно только происходит, когда я запрашиваю URL через веб-браузер.
HTTP Плохая ошибка Запроса прибывает из того, что браузер выпускает HTTP-запрос GET, где содержание сообщения находится в HTTP-заголовках и теле, пуст.
Это точно, на что жалуется WCF mexHttpBinding!
Для получения до сервисного контракта через веб-браузер, необходимо будет явно включить его в сервисном поведении:
<serviceBehaviors>
<behavior name="MetadataEnabled">
<serviceMetadata httpGetEnabled="true" />
</behavior>
</serviceBehaviors>
URL для запроса становится затем:
Так, оказывается, что я был немного слишком быстр в регистрации этого вопроса. Однако я сохраню его так или иначе только для справки.
Мне удалось решить проблему «400 неверных запросов», переключив мою службу WCF с работы с Visual Studio Development Server на использование локального веб-сервера IIS (щелкните правой кнопкой мыши проект -> свойства -> вкладка веб - -> переключатель в разделе «Серверы»). Я надеюсь, что это поможет кому-то там, потому что мне потребовалось два дня, чтобы понять это.