Mam kod z interfejsu REST API, który używa @ResponseBody
, aby zwrócić wynik, i MappingJacksonHttpMessageConverter
, aby zwrócić go w formacie JSON.Spring @ResponseBody generuje nieprawidłowy JSON dla typów pierwotnych
Wszystko działa dobrze w przypadku złożonych obiektów. Dla prymitywów, takich jak int
, boolean
i string
otrzymuję JSON, który nie zaczyna się od {lub [. To nie jest prawidłowy JSON.
Zastanawiałem się, jaki jest właściwy sposób zwrotu prostego typu? Czy należy hermetyzować go w obiekcie, takim jak { Result : true }
?
Dzięki próbka
Kod:
@RequestMapping(
value = "/login",
method = RequestMethod.POST)
@ResponseBody
public boolean Login(String username, String password) {
return authenticationService.authenticate(username, password);
}
ten powróci tylko true
lub false
który jest nieważny JSON. Powinien być zamknięty w obiekcie lub tablicy (jeśli dobrze rozumiem).
Problem polega na tym, że są rzeczy, które oczekują poprawnego JSON. Na przykład narzędzie Flex Builder, które hermetyzuje wywołania REST API w programie Flex, oczekuje, że wyniki znajdą się w JSON. – Oxmane
przyklejają dane do niestandardowego obiektu opakowania lub hasmapy – NimChimpsky