Команда Spring Rest API Post передает нулевое значение - PullRequest
0 голосов
/ 06 мая 2020

Я пытаюсь создать почтовый запрос отдыха, используя Spring, но получено нулевое значение.

Если я использую первый запрос, я получаю обратно нулевые значения. Если я использую второй запрос, я получаю 415Unsupported Media Type. Кто-нибудь знает, в чем моя проблема?

@RequestMapping(value = "/product", method=RequestMethod.POST,produces = "application/json")
@ResponseBody Product addProduct(Product p1) {
    System.out.print("Adding product:"+p1.getDescription());
    return p1;
}

@RequestMapping(value="/product2", method=RequestMethod.POST, produces = { MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
public Product greeting(@RequestBody Product p1) {
    System.out.print("Adding product:"+p1.getDescription());
    return p1;
   }

ОБНОВЛЕНИЕ, чтобы включить POSTMAN 1 enter image description here 2 enter image description here 3

1 Ответ

1 голос
/ 07 мая 2020

Попробуйте сделать это:

@PostMapping(path = "/product")
public ResponseEntity<Product> addProduct(@RequestBody Product p1) {
    System.out.print("Adding product:"+p1.getDescription());
    return new ResponseEntity<Product>(p1, HttpStatus.OK);
}

По умолчанию Spring должен определить, что JSON, который вы пытаетесь передать, может быть преобразован в объект Product. Spring также заботится о типе возвращаемого значения, поэтому вам не нужно писать много кода, чтобы преобразовать объект обратно в JSON.

Кроме того, в Postman добавьте заголовок Content-Type со значением application/json.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...