java - 没有找到接口(interface) java.util.List Rest API Spring boot 的主构造函数或默认构造函数

标签 java spring-boot postman

我将请求正文传递给 postman 上的 POST 请求,与此类似:

 "name":"Mars",
"artifacts":[
   {
      "elements":[
         {
            "name":"carbon",
            "amount":0.5,
            "measurement":"g"
         }
      ],
      "typeName":"typeA"
   },
   {
      "elements":[
         {
            "name":"hydrogen",
            "amount":0.2,
            "measurement":"g"
         }
      ],
      "typeName":"typeB"
   }
]

rest controller 中的 create 方法如下所示。

  @RequestMapping("/create")
  public Planet create(@RequestBody Planet data) {
      Planet mars = planetService.create(data.getName(),data.getArtifacts());
      return mars;

Planet 及其所有嵌套对象都有一个默认构造函数,例如:

public Planet() {}

但是,由于缺少默认构造函数,我无法创建新的行星对象。请帮忙!

编辑: 行星类

public class Planet {
@JsonProperty("name")
private String name;
@Field("artifacts")
private List<Artifact> artifacts;

public Planet() {}

public Planet(String name, List<Artifact> artifacts)
{
this.name = name;
this.artifacts = artifacts;
}
//setters and getters

}

工件类:

public class Artifact() {
@Field("elements")
private List<Element> elements;
@JsonProperty("typeName")
private String typeName;

public Artifact() {}

public Artifact(String typeName, List<Element> elements)
{
this.typeName = typeName;
this.elements = elements;
}
}

元素类:

public class Element() {
@JsonProperty("elementName")
private String name;
@JsonProperty("amount")
private double amount;
@JsonProperty("measurement")
private String measurement;

public Element() {}

public Element(String name, double amount, String measurement)
{
//assignments
}
}

最佳答案

当我忘记参数前的@RequestBody时,我遇到了同样的错误

  @RequestMapping("/create")
  public Planet create(@RequestBody Planet data) {

关于java - 没有找到接口(interface) java.util.List Rest API Spring boot 的主构造函数或默认构造函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54663351/

相关文章:

java - Spring Boot 生成无效的 MySQL 查询 (only_full_group_by)

java - 将 Eclipse 插件从 Luna 导入到 Neon?

java - 尝试使用扫描器类循环函数

javascript - 使用axios创建post请求后,header值在服务器端返回null

java - 无法在 Spring bean 中进行 self 注入(inject)?

postman - postman 中的 HTML 报告生成

java - 如何在登录表单中添加spring security

java - Spring Boot - JNDI 值查找

javascript - 与 postman rest 客户端相比,nodejs/curl http 请求速度较慢

node.js - 当我在 Postman 中使用表单数据时,结果未定义