gpt4 book ai didi

spring - 使用 Spring 验证框架验证请求 header

转载 作者:行者123 更新时间:2023-12-02 01:09:55 26 4
gpt4 key购买 nike

是否可以将 Spring 验证框架与 Spring MVC 结合使用来验证 HTTP 请求 header 是否存在及其值?

最佳答案

要检查请求 header 是否存在,您不需要验证框架。请求 header 参数默认是强制的,如果请求中缺少强制 header ,Spring MVC 会自动响应 400 Bad Request。

因此以下代码会自动检查 header “Header-Name”是否存在...

@PostMapping("/action")
public ResponseEntity<String> doAction(@RequestHeader("Header-Name") String headerValue) {
// ...
}

...如果 header 是可选的,则注释需要替换为:

@RequestHeader(name = "Header-Name", required = false)
<小时/>

要检查请求 header 的,可以使用 Spring 验证框架。为此,您需要

  1. @Validated添加到 Controller 类。这是在 this feature 之前需要的解决方法已实现。
  2. 在请求头参数中添加JSR-303注解,例如

    @RequestHeader("Header-Name") @Pattern(regexp = "[A-Za-z]*") String headerValue

但请注意,如果 header 值无效,这将导致 500。检查this question了解如何获取本例的正确状态代码(即 400)。

关于spring - 使用 Spring 验证框架验证请求 header ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1590102/

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