/ / Spring RestController отчита само първия тип медия и игнорира останалите - пролет, пролетно зареждане, mime-видове, пролетно-почистващ контролер

Spring RestController взема предвид само първия вид носител и пренебрегва останалата част - пружинна, пружинна, барокова, пружинна реконтролера

@RequestMapping(value = "/test", method = RequestMethod.GET, produces = { "text/plain", "application/json" })

Ако изпратя заявка:

curl --header "Accept: text/plain, application/json" "http://localhost:8229/test/test"

Изпраща обратно 406 неприемлив отговор с тела за отговор на HTML. Очакван отговор е обект JSON с 200 OK.

Но ако обърна реда на mime-type:

curl --header "Accept: application/json, text/plain" "http://localhost:8229/test/test"

Тогава той изпраща очаквания отговор (в JSON).

Това очаквано поведение ли е? Защо игнорира втория тип медия?

PS: Използвам Spring Boot 1.3.5 версия

редактиране: Получавам същата грешка, ако изпратя "Accept: */*", Този API може да върне JSON или текст / обикновен в зависимост от вътрешно състояние.

Отговори:

2 за отговор № 1

Предполагам, че това е поради неконфигурирането на вашия компонент за уеб конфигуриране от страна на сървъра. Вижте Преговори за съдържание за да го конфигурирате.