首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >spring-boot使用webservice

spring-boot使用webservice
EN

Stack Overflow用户
提问于 2020-04-24 21:19:24
回答 1查看 39关注 0票数 0

我有一个像这样构造的this服务

代码语言:javascript
复制
@RestController
public class GreetingController {

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

当我使用webservice时,我这样做:

代码语言:javascript
复制
Foo f = new Foo("kkkkk");

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

但它返回错误:

代码语言:javascript
复制
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类如下所示:

代码语言:javascript
复制
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 + "]";
    }

}

我在哪里出错?

EN

回答 1

Stack Overflow用户

发布于 2020-04-24 21:36:56

再见,罗密欧:-)

看起来您缺少Foo中的默认构造函数,并且Spring无法反序列化请求。

添加:

代码语言:javascript
复制
public Foo() {
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61409350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档