首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于条件忽略RequestBody值

基于条件忽略RequestBody值
EN

Stack Overflow用户
提问于 2019-06-25 10:48:53
回答 1查看 115关注 0票数 0

我正在传递一个对象,并作为spring框架的RequestBody注释进行接收。但是我想为hashmap传递一个值,它将作为键值对附加到pojo中的对象,我还将ENUM作为第二个变量。

我的波霍:

代码语言:javascript
复制
private CommandConstants command; // enum
private HashMap<String,String> commandArgs; //hashmap

其中CommandConstants是一个枚举,只是作为字符串接收的命令。

代码语言:javascript
复制
const res= await axios.post(configs.Data.handleControl, { command:action, 

commandArgs: ((action==="MAKE_ALL_SANDWICHES" || 
action==="FLIP_ALL_BURGERS") && [{}]) ||((action==="TOAST_SANDWICH" && 
addBurger!==null) && [{key:"BURGERCOUNT", value:addBurger}])||

((action==="MAKE_SANDWICH" || action==="SPOIL_SANDWICH" || 
action==="FLIP_BURGER") && [{key:"TOASTERID", value:toasterId}]) ||

(action==="MARINATE_BURGER" && [{key:"CATEGORY", 
value:wired?"WIRED":"WIRELESS"},{key:wired?"WIRED":"WIRELESS", value:wired?
wired:wireless}]) ||(action==="RUST_BURGER" && [{key:"CATEGORY", 
value:wired?"WIRED":"WIRELESS"},{key:wired?"WIRED":"WIRELESS", value:wired?
wired:wireless}])});

忽略不需要的东西。

实际结果:

代码语言:javascript
复制
{"command":"MAKE_ALL_SANDWICHES","commandArgs":[{"key":null,"value":null}]}

预期结果:

代码语言:javascript
复制
{"command":"START_ALL_MACHINES"}`

如果是null,我可以忽略上面的POJO变量吗?

也许我在反应中犯了个错误

只有在命令为MAKE_ALL_SANDWICHESFLIP_ALL_BURGERS的两个操作中才会得到意想不到的结果,因为只有在这两种情况下,才不会传递任何commandArgs

EN

回答 1

Stack Overflow用户

发布于 2019-06-25 15:14:18

不确定我是否正确地理解了这个问题,但是如果您不希望服务器将空值传递给正文中的客户端,那么您可以用:@JsonInclude(JsonInclude.Include.NON_NULL)注释POJO类,并且应该将它们过滤掉。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56752338

复制
相关文章

相似问题

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