我在spring mvc控制器中有一个简单的请求调用
@ResponseBody
@RequestMapping(value = "/url", method = RequestMethod.GET)
public SomeDTO getSth(@RequestParam("paramA") Integer paramA, @RequestParam("paramB") Integer paramB) {
// ...
}
我想要paramA或paramB否则是正常的http响应,因为如果我不提供这两个参数,它当前会发生。
我知道有一个必需的参数可用,但我没有看到连接两者的方法。有什么想法吗?
答案 0 :(得分:0)
我想不出一个非常好的解决方案,但直截了当的似乎是正常的,不是吗?
@ResponseBody
@RequestMapping(value = "/url", method = RequestMethod.GET)
public String getSth(@RequestParam(value = "paramA", required = false) Integer paramA,
@RequestParam(value = "paramB", required = false) Integer paramB) {
if (paramA == null ^ paramB == null) {
return "body";
} else {
throw new BadRequestException();
}
}
@ResponseStatus(value = HttpStatus.NOT_FOUND)
public static class BadRequestException extends RuntimeException {
private static final long serialVersionUID = 1L;
}