Я хочу создать простой проект Spring, который будет служить службой RESTful.
Я хочу отправить JSON из интерфейса и хочу преобразовать его в объект Java с помощью @RequestBody
. После изменения объекта в бэкэнд мне нужно преобразовать этот объект обратно в JSON и отправить на передний конец.
Как я могу это достичь?
Вы можете использовать библиотеку Джексона. Пример можно найти здесь: http://www.mkyong.com/spring-mvc/spring-3-mvc-and-json-example/
Сериализация (POJO → JSON) и десериализация (JSON → POJO) весной просто получается через аннотации @RequestBody
и @ResponseBody
.
Вам просто нужно определить класс Java, который представляет/отображает ваш объект JSON на стороне сервера.
Напр.
Вход JSON:
{id: 123, name: "your name", description: ""}
Класс Java:
public class MyClass {
private int id;
private String name;
private String description;
}
Методы в вашем контроллере:
public void postJson(@RequestBody MyClass o){
// do something...
}
public @ResponseBody MyClass getJson(){
// do something...
}
ПРИМЕЧАНИЕ. Я не @RequestMapping
параметры @RequestMapping
.
Вам нужно будет предоставить токен csrf для запроса POST. Вместо этого вы можете попробовать это.
отправка HashMap by angularjs $ http.get весной mvc
Он отлично работает только немного больше @RequestParams, но с лучшей стороны вы также можете отправить дополнительную информацию, а не только соответствующий объект.