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

如何在Spring Boot中验证Rest API中POST方法不需要的请求主体参数

姬实
2023-03-14

公共RestControllerDTO{

@notblank私有字符串名称;

@notblank私有整数年龄;

}

现在我想抛出一个异常,因为在进入controller类之前,“hi”是一个未知字段。

共有1个答案

狄新立
2023-03-14

您可以在控制器方法中使用@Valid注释来完成此操作

@GetMapping("/foo")
public void bar(@Valid RestControllerDTO dto, BindingResult bindingResult) {

    if (bindingResult.hasErrors()) {
        throw new Exception();
    }
...

https://spring.io/guides/gs/validating-form-input/

我还建议添加@Notnull,因为@Notblank只检查“

 类似资料:
  • 在我的请求正文中,几乎没有JSON原始数据中需要的参数,我希望在Postman中的请求前脚本中验证这些参数是否存在于正文中。 如何检查请求正文中是否传递了和?

  • 我创建了一个带有参数的API,如下所示: 我在body->表单数据中传递了。 然后我在《邮递员》上得到了这样一条消息: 有人知道为什么会有这个消息吗?我们如何在Rest API请求中传递一个映射作为参数?我们怎样才能通过邮递员传递地图?

  • 我刚刚开始学习Java Spring Boot for REST API开发。在下面的代码中,GET方法可以正常工作,但POST不能。 在Postman应用程序中使用as 错误 在日志中我可以看到, maven的Java和springboot版本,

  • 如何验证两个发往同一url但在wiremock中具有不同主体的post请求?同一url应使用正文%1调用一次,使用正文%2调用一次。 现在,Wiremock只关心验证最后一行。

  • 我有一个用@ControllerAdvice注释的类和用@ExceptionHandler注释的方法来处理服务代码引发的异常。在处理这些异常时,我希望获得@RequestBody,它是请求POST操作的一部分。 我尝试为发送的请求创建POJO类,并尝试在异常处理程序类中检索,但它返回null。 遵循本查询中给出的相同解决方案~如何在@ExceptionHandler(Spring REST)中获取

  • 如何访问单类型的RequestBody参数。Spring启动Webflux。 我想返回一个响应实体,而不是单声道。