gpt4 book ai didi

java - 如何简单地检查请求正文是否为空或请求正文是否有空字段?

转载 作者:行者123 更新时间:2023-12-02 09:28:07 24 4
gpt4 key购买 nike

嗨,我有接受 POST 请求的 Controller 。

请求正文可以为空或正文为空字段:即或 { }

@RestController
public class UserController {
@Autowired
private UserService UserService;
@RequestMapping(value = "/tree", method = POST,consumes = MediaType.APPLICATION_JSON_VALUE)
public List<ResponseUser> controller(@RequestBody(required=false) UserDataRequest request) {
return UserService.send(request);
}
}

我的服务定义如下:

  1. 检查正文是否为空,即 null
  2. 逐一检查字段是否为空
  3. 如果字段为空,则再次执行步骤 1
@Service
public class UserService {

@Autowired
private RestTemplate restTemplate;

private ResponseEntity<List<ResponseUser>> responseEntity;

public List<ResponseUser> send(UserDataRequest data){


//empty body == null
if(data == null ) {
// return list1 of type ResponseUser
}
else{

//Check for the fields are present are not
Optional<String> id = Optional.ofNullable(data.getid());
Optional<String> search = Optional.ofNullable(data.getsearch());

//if id is present
if (id.isPresent()) {
// return list2 of type ResponseUser

}

//if search is present
else if(search.isPresent()){
// return list3 of type ResponseUser

}

else {
// return list1 of type ResponseUser
}
}
return responseEntity.getBody();
}
}

我想知道如何不再重复同样的事情?有什么有效的办法吗?

最佳答案

向您的 Pojo 类添加验证注释

public class UserDataRequest {
@NotNull
private String id;

@NotNull
private String search;
}

更新您的发布方法以使用此验证

 public List<ResponseUser> send(@Valid UserDataRequest data){}

关于java - 如何简单地检查请求正文是否为空或请求正文是否有空字段?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58188244/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com