Вернуть ответ в формате json

42
26 июня 2019, 03:50

У меня есть RestController который делает POST и GET. Мне нужно чтобы возращаемые данные у меня отображались как json.

public List<Persons> Names_List = new ArrayList<>();
@RestController
public class Post_Get {
public List<String> Names_List = new ArrayList<>();
@PostMapping(value = "api/names")
public String post (@RequestParam(value = "username", required = true, defaultValue = "None") String names) {
    Names_List.add(names);
        return " Saved:" + names;
}
@GetMapping(value = "api/names", produces = "application/json")
public String get(String result) {
        return "Names - " + Names_List.toString();
}

}

Answer 1

@PostMapping(value = "...", produces = MediaType.APPLICATION_JSON_VALUE). @GetMapping аналогично. После чего return-ом возвращаешь обычный POJO

Upd: Ваш код будет выглядеть примерно так (не проверял, может где-то описка. Но суть должна быть понятна) Person

public class Person {
    public String name; // Тут должен быть private, гет/сет методы и конструктор с именем. Пишу так с целью сокращения объема кода в примере.
}

Controller:

@RestController
public class MyController {
    private List<Person> persons = new ArrayList<>();
    @PostMapping(value = "api/persons", produces = MediaType.APPLICATION_JSON_VALUE)
    public Person post (@RequestParam("username") String name) {
        Person person = new Person(name);
        persons.add(person);
        return person;
    }
    @GetMapping(value = "api/persons", produces = MediaType.APPLICATION_JSON_VALUE)
    public List<Person> get() {
        return persons;
    }
}
READ ALSO
Как создать экземпляр TableView

Как создать экземпляр TableView

Я хочу создать приложение для аэропортов в JavaFXВот как создать это представление с помощью CSS

39
Как получить this.props в конструкторе?

Как получить this.props в конструкторе?

Как я могу применить thisprops внутри конструктора?

47