Не удалось прочитать сообщение HTTP: org.springframework.http.converter.HttpMessageNotReadableException - PullRequest
0 голосов
/ 28 сентября 2018

У меня возникает проблема, когда я нажимаю URL

Мой контроллер

Пожалуйста, помогите мне найти ошибку из моего названия

  @RestController
    @RequestMapping("/client")
    public class TestController {

        @PostMapping(produces = { "application/json", "application/xml" })

    public ResponseEntity<Client> createCustomer(@RequestBody Client customer) {

            System.out.println("Creat Customer: " + customer);

            return ResponseEntity.ok(customer);
        }

    }

1 Ответ

0 голосов
/ 28 сентября 2018

Попробуйте, если у вас есть "нормальный" пружинный веб-mvc.

@RequestMapping(value="client", produces = { "application/json", "application/xml" })
public @ResponseBody Customer createCustomer(
    @RequestParam Customer customer) {

        ...do some work like customerDao.create(customer);

        System.out.println("Create Customer: " + customer);

        return customer;
}

Если это REST-интерфейс, вам необходимо сначала десериализовать ваши входящие данные.Если ваши данные в формате xml, вы можете сделать это, например, с помощью JAXB2-Marshaller.Если у вас есть JSON-данные, вы можете использовать FasterXML (Джексон) таким же образом.Ваш код может выглядеть как

@RequestMapping(value="client", produces = { "application/json", "application/xml" })
public @ResponseBody Customer createCustomer(
    @RequestBody String body) {

        Source source = new StreamSource(new StringReader(body));
        RestRequest restRequest = (RestRequest)jaxb2Marshaller.unmarshal(source);

        Customer customer = (Customer) restRequest.getRequestData();

        ...do some work like customerDao.create(customer);

        System.out.println("Create Customer: " + customer);

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