/ / Spring ResController zohľadňuje len prvý typ média a ignoruje zvyšok - pružinu, pružinu, mime, pružinový kontrolér

Funkcia Spring RestController považuje iba prvý typ média a ignoruje zvyšok - pružinu, pružinu, mime, pružinový kontrolér

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

Ak pošlem žiadosť:

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

Odošle späť 406 neprijateľnú odpoveď s telom odozvy HTML. Očakávaná odpoveď je objekt JSON s hodnotou 200 OK.

Ale ak som zvrátiť poradie mime-typov:

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

Potom odošle očakávanú odpoveď (v JSON).

Je toto očakávané správanie? Prečo ignoruje druhý typ média?

PS: Ja používam verziu Spring Boot 1.3.5

editovať: Mám rovnakú chybu, ak pošlem "Accept: */*", API môže vrátiť JSON alebo text / plain v závislosti na vnútornom stave.

odpovede:

2 pre odpoveď č. 1

Myslím, že je to kvôli tomu, že na strane servera nie je nastavená konfigurácia webovej konfigurácie Vyjednávanie obsahu nakonfigurovať.