как передать пользовательский dto в качестве ввода api rest с помощью клиента postman rest - PullRequest
0 голосов
/ 13 марта 2019

Вот мой код, я пытаюсь передать данные пользователя в виде ввода json, но я не могу получить данные в моем методе API остальных. Я получаю все значения как ноль,

это мой запрос json

{
    "userId" : "12345",
    "username" : "arun.ammasai",
    "createdBy" : "-2",
    "updatedBy" : "-2",
    "statusCd" : "New",
    "createdDate" : "2019-03-03",
    "updatedDate" : "2019-03-03"
}

=============================================== =====================

@RequestMapping(value = "/registerUser", method = RequestMethod.POST, consumes = { "application/JSON", "application/XML" })
private String registerUser(User user) {
    System.out.println(user.toString());
    return "User Created";
}

=============================================== =====================

вот ответ в Postman Client

Неожиданное 'U'

1 Ответ

1 голос
/ 13 марта 2019

Обновите подпись вашего метода с помощью аннотации @RequestBody. Он автоматически десериализует ваш JSON в Java-сущность. Будьте осторожны, имена в json должны совпадать с параметрами в объекте User, а объект User должен иметь методы получения и установки. Таким образом, ваш метод должен выглядеть как

    @RequestMapping(value = "/registerUser", method = RequestMethod.POST, consumes = { "application/JSON", "application/XML" })
        private String registerUser(@RequestBody User user) {
            System.out.println(user.toString()); //What is the reason of doing toString of java Object? 
            //better to do System.out.println(user.getUsername())
            return "User Created";
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...