Rest Accept заголовок запятой против точки с запятой - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь понять разницу между использованием запятой и точки с запятой для разделения нескольких типов контента в одной строке, добавленной в заголовок запроса restSharp.

Пример:

request.AddHeader("Accept", acceptContentType);

сacceptContentType является следующим:

application / json; odata = verbose

(работает как положено)

application / json, odata= verbose

(ошибка с кодом 400: поле заголовка HTTP «Принять» со значением «application / json, odata = verbose» не может быть проанализировано.)

и

application / json; application / xml

(сбой при коде 400. ошибка: поле заголовка HTTP «Принять» со значением «application / json; application / xml»)невозможно проанализировать.)

application / json, application / xml

(возвращает тип содержимого данных как json

application /xml, application / json

(возвращает тип содержимого данных как xml

Стандарт, которому нужно следовать, или все зависит от серверной стороны, как он обрабатывает входящий заголовок?

1 Ответ

0 голосов
/ 07 июня 2018

Извините, я вижу, где я допустил ошибку.определение сваггера будет выглядеть так

«производит»: [«application / json; odata = verbose», «application / xml»],

, а не

"производит": ["application / json", "odata = verbose", "application / xml"]

, поэтому запятая должна быть разделителем между типами и точкой с запятой длярасширение типа

application / json; odata = verbose, application / xml

...