подпружиненный веб-сервис - PullRequest
0 голосов
/ 24 апреля 2020

У меня есть веб-сервис, сконструированный так

@RestController
public class GreetingController {

    @PostMapping(path = "/greetingws")
    public Foo greeting(@RequestBody Foo dto) {
        return dto;
    }
}

Когда я использую веб-сервис, я делаю так

Foo f = new Foo("kkkkk");

ResponseEntity<String> t2 = restTemplate
          .exchange("http://localhost:8080/greetingws", HttpMethod.POST, new HttpEntity<Foo>(f), String.class);

Но он возвращает ошибку:

org.springframework.web.client.HttpClientErrorException$BadRequest: 400 : [{"timestamp":"2020-04-24T13:03:30.191+0000","status":400,"error":"Bad Request","message":"JSON parse error: Cannot construct instance of it.test.demo.controller.Foo (although at least one C... (7991 bytes)]

Мой Foo класс, как показано ниже:

public class Foo {

    private String nome;

    public String getNome() {
        return nome;
    }

    public void setNome(String nome) {
        this.nome = nome;
    }

    public Foo(String nome) {
        super();
        this.nome = nome;
    }

    @Override
    public String toString() {
        return "Foo [nome=" + nome + "]";
    }

}

Где я делаю ошибку?

1 Ответ

1 голос
/ 24 апреля 2020

Ciao Romeo: -)

похоже, вам не хватает конструктора по умолчанию в Foo, и Spring не может десериализовать запрос.
Add:

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