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

针对Spring Boot rest服务发布一个带有布尔值列表的JSON对象

邓俊材
2023-03-14
jsonTest = {
    "room": lists
}
json_list = json.dumps(jsonTest)

requests.post('http://localhost:8082/room', json=json_list)
public class Room {

   @JsonProperty("room")
   private List<List<Boolean>> roomList;

   public Room(List<List<Boolean>> roomList) {
       this.roomList = roomList;
   }

   public List<List<Boolean>> getRoomList() {
       return roomList;
   }

   public void setRoomList(List<List<Boolean>> roomList) {
       this.roomList = roomList;
   }
}

控制器:

@RestController
public class GreetingController {

   @PostMapping(value = "/room")
   public Room room(@RequestBody Room newRoom) {
       return newRoom;
   }
}

当post执行时,我会得到以下错误:

servlet[dispatcherServlet]的servlet.service()在路径[]上下文中抛出异常[请求处理失败;嵌套异常是org.springframework.http.converter.httpmessageConversionException:类型定义错误:[simple Type,class de.lukas.broetje.findaway.movement.room];嵌套异常是com.fasterxml.jackson.databind.exc.invaliddefinitionException:无法构造de.luckes.findaway.movement.room的实例(没有创建]}')位于[源:(PushbackInputStream);行:1,列:1]]


共有1个答案

胡劲
2023-03-14

由于您已经提供了以下自定义构造函数no default,no-args构造函数将由Java编译器生成。

public Room(List<List<Boolean>> roomList) {
       this.roomList = roomList;
}

错误消息指出,您需要在room类中提供一个缺省的无args构造函数,例如。

public Room() {
}

因此,显式地添加默认的no-args构造函数,您就可以开始工作了;-)

 类似资料:
  • 问题内容: 我正在尝试使用RestSharp发布以下JSON: 我想我已经接近了,但是我似乎在为 SecurityQuestion 苦苦挣扎(API抛出错误,表明缺少参数,但没有说明是哪个参数) 这是我到目前为止的代码: 我的安全问题类如下所示: 谁能告诉我我在做什么错?还有其他方法可以发布安全性问题对象吗? 非常感谢。 问题答案: 您需要在标题中指定content-type: 还根据方法添加到P

  • 问题内容: 我创建了一个需要发布到jersey的json,这是由grizzly运行的具有REST网络服务的服务器获取需要输出的传入json对象。我正在尝试,但不确定如何正确实施。 我有一个在加载时运行此方法的html文件 问题答案: 要将json发送到服务器,首先必须创建json 这就是构造ajax请求以将json作为post var发送的方式。 json现在将在post var中。

  • 问题内容: 这可能只是白痴,但对我来说有点混乱: 为什么在返回时返回? 问题答案: 您正在根据布尔值的文字值检查它。一样不会是真的。 如果将其投射,您将看到区别: 究其原因是真实的,因为你是比较相同的对象。与或相同。 当您看到类似的东西并且此检查从未通过时,困难就来了。那是因为您正在检查项目的 真实值 。按照惯例,所有这些项目都将通过布尔检查失败- 也就是说,它们的布尔值将为: (明显) 任何空序

  • 问题内容: 众所周知,Python具有对象的布尔值:如果一个类具有一个方法,则该方法的每个实例恰好返回0的值都将被评估为布尔值(例如,空列表)。 实际上,每个可迭代的空自定义对象都被评估为好像它出现在布尔表达式中一样。 现在假设我有一个带有attribute的类。我如何定义它的真值,这样,也就是说,它会进行评估,并以其他方式? 例如: 因此,应打印。 问题答案: 请参阅Python文档。

  • 但是这个代码不起作用。编译器说 我在试图理解代码的问题是什么。我认为将返回一个布尔值流,我可以通过收集这些值。

  • JSON 布尔值可以是 true 或者 false。如: { "flag":true }