当前位置: 首页 > 知识库问答 >
问题:

Spring:使用REST服务发布新对象时类型定义错误

戎兴言
2023-03-14

这是对象:

@Entity
public class Persona {
    @Id
    @GeneratedValue(strategy=GenerationType.AUTO)
    private Integer id;
    private String nombre;
    private String apellido;



    public Persona(String nombre, String apellido) {

        this.nombre = nombre;
        this.apellido = apellido;
    }
    public Integer getId() {
        return id;
    }

    public String getNombre() {
        return nombre;
    }
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    public String getApellido() {
        return apellido;
    }
    public void setApellido(String apellido) {
        this.apellido = apellido;
    }


}

这是控制器方法:

@PostMapping(path="/persona")
public @ResponseBody String addPersona(@RequestBody Persona p) {
    personaRepository.save(p);
    return "success";

}

共有1个答案

聂宜
2023-03-14

您需要一个空的构造函数来允许Jackson正确地执行它的反序列化操作。

此外,使用实体模型作为数据传输对象并不是一个好主意。我建议创建一个PersonadTo,它将包含为object构造所需的所有字段,并使用Spring转换器将其转换为Persona对象。

这样,您将更加灵活,并且不需要绑定,您可以将对象转移到实际的实体模型。

 类似资料:
  • 我有一个对象,它通过json POST请求获取参数,以便在数据库中创建一个新条目,但我得到以下错误: 这是控制器 服务

  • 我有一个自定义dto类: 和一个使用Web Api(4.5. net框架)的控制器 客户端只有4.0.net框架,因此我将无法使用PostAsJsonAsync()方法。将对象从客户端传递到服务器的解决方案是什么? 我尝试了如下方法: 然而它给了我一个例外: 难道不能使用牛顿软件库吗?

  • 控制器: 当post执行时,我会得到以下错误: servlet[dispatcherServlet]的servlet.service()在路径[]上下文中抛出异常[请求处理失败;嵌套异常是org.springframework.http.converter.httpmessageConversionException:类型定义错误:[simple Type,class de.lukas.broet

  • 这是我的pojo类 输入json Spring控制器类 我正在控制台中打印日期值,它是这样打印的。这里我得到的时间是错误的,我应该得到时间07:30:04,但我得到的是13:00:04,除了这个一切都很好 请帮我拿这个。

  • 我试图通过从spring-integration向REST服务发送一个JSON字符串。 但是得到错误 找不到能够从java.lang.String类型转换为org.springframework.http.ResponseEntity<?>类型的转换器 分享有关详情 有人能帮忙吗?我在这里漏掉了什么?

  • 资源 ComplexObject类只是一个带有字符串的类。当我点击URL:http://localhost:8080/simple-service-webapp/webapi/myresource/This work时,我得到的是“get it!” 但是当我点击:http://localhost:8080/simple-service-webapp/webapi/myresource/comple