Поэтому я пытаюсь реализовать WS в WebAPI, который проверяет полученный заголовок на наличие необязательного пользовательского параметра и обрабатывает его и его тело.
Я играю с Почтальоном, чтобы проверить это. Когда я вызываю метод без пользовательского параметра в заголовке, все идет хорошо. Когда я включаю свой пользовательский параметр в заголовок, мой метод не срабатывает.
[HttpPost]
[ResponseType(typeof(ResultModel))]
public HttpResponseMessage Add([FromBody] InputModel oModel)
{
ResultModel oResult;
// Process oModel
// Check if my "X-Custom-Parameter exists
if(Request.Headers.GetValues("X-Custom-Parameter").FirstOrDefault() != null){
// Do something with custom parameter and oModel
}
return Request.CreateResponse(HttpStatusCode.OK, oResult);
}
При звонке из Почтальона я получаю следующее сообщение:
Error: Header name must be a valid HTTP Token ["X‐Custom-Parameter"]
и заголовок:
POST /myapi/path
X‐Custom-Parameter: 123Kartofen
Content-Type: application/json
cache-control: no-cache
Postman-Token: 6d1da8b9-9871-439e-8e5d-79c22978b4cd
Хотя мне не хватает некоторых настроек. Я часами занимаюсь веб-серфингом и читаю об обработчиках и фильтрах, но не думаю, что это то, что мне нужно.