java - 如何根据 JSON 要求在 Spring REST Controller 中获取请求?

标签 java json spring

public ResponseEntity<TastyDashResponse> order(@PathVariable("restaurantId") String restaurantId,
                                                       @RequestBody RestaurantOrderBook request,
                                                       @RequestBody ExpItems exp) {}

我有两个 Objects RestaurantOrderBookExpItems。传入请求应该有其中一个,另一个成为可选的。

如何在相同的方法中实现这一点。当这个 code 我得到 404 bad request。请帮忙。

最佳答案

您不能使用两个@RequestBody,因为它可以绑定(bind)到单个对象。 解决方案创建一个对象,它将像这样捕获所有相关数据:

 public class Data {
  private  String restaurantId;
  private RestaurantOrderBook request;
  private ExpItems exp;
  getters/setters 
  } 



public ResponseEntity<TastyDashResponse> order(@RequestBody Data data) {}

关于java - 如何根据 JSON 要求在 Spring REST Controller 中获取请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43739096/

相关文章:

Python - 将所有 'available' 元素保存在 Json 中,并在所有搜索完成后打印它?

c# - 反序列化 JSON 结构

java - 应该使用哪个 - ConcurrentHashMap putIfAbsent 或锁定映射

java - 是否有可能在不终止现有 Web 服务的情况下向部署在 Tomcat 上的 Web 服务添加模块

java - java中的TCP网络摄像头流

json - 字符集编码 Tomcat Windows/JBoss Linux

java - 使用 NetBeans 开始使用 Java 进行编码

java - 为什么 Spring 3 @Component 名称在具有不同包时会发生冲突?

java - http ://anonsvn. jboss.org/repos/labs/labs/jbossrules/trunk/drools-api/src/main/resources/change-set-1.0.0.xsd 返回 301

java - 通过 "buckets"查找元素的此类集合/算法的名称是什么