- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我无法将请求 header 值绑定(bind)到 POJO 类中。这里有一个解释:
我想将“isKidsProfile”的值绑定(bind)到“DetailCO”,但它没有绑定(bind)。另一方面,如果我仅将其绑定(bind)到变量中,它就可以工作。
//考虑请求中的 header 值为:key:isKidsProfile 和 value:true/false
@RequestMapping(value = "/api/v1/detail/{id}", method = RequestMethod.GET)
public ResponseDTO fetchDetailForKidsProfileUser(
@RequestHeader DetailCO detailCO,
@RequestHeader boolean isKidsProfile) {
sout(detailCO.isKidsProfile); // not bind in object
sout(isKidsProfile); // bind in variable
return new ResponseDTO();
}
详细类CO { 私有(private) boolean isKidsProfile;
//getters ans setters
}
有更多的值,因此最好在 POJO 中绑定(bind),而不是创建多个变量。请提出建议。
最佳答案
这是我在需要解析所有参数的用例中使用的。您可以使用RequestHeaderMethodArgumentResolver如果只是标题。
创建配置
@Configuration
public class IRSConfig implements WebMvcConfigurer {
@Autowired
private IRSArgumentResolver irsArgumentResolver;
@Override
public void addArgumentResolvers(List<HandlerMethodArgumentResolver> resolvers) {
resolvers.add(irsArgumentResolver);
}
}
<小时/>
创建 POJO 类来封装数据并发送到 RequestHandler
public class MyRequestParams {
private String first;
private String second;
public void setFirst(String first) {
this.first = first;
}
public void setSecond(String second) {
this.second = second;
}
public String getFirst() {
return first;
}
public String getSecond() {
return second;
}
}
<小时/>
创建参数解析器
@Component
public final class IRSArgumentResolver implements HandlerMethodArgumentResolver {
@Override
public boolean supportsParameter(MethodParameter methodParameter) {
return methodParameter.getParameterType().equals(MyRequestParams.class);
}
@Override
public Object resolveArgument(MethodParameter methodParameter, ModelAndViewContainer modelAndViewContainer,
NativeWebRequest nativeWebRequest, WebDataBinderFactory webDataBinderFactory) throws Exception {
MyRequestParams requestParams = new MyRequestParams();
requestParams.setFirst(nativeWebRequest.getParameter("x-et-participant-id"));
requestParams.setSecond(nativeWebRequest.getHeader("Authorization"));
return requestParams;
}
}
关于java - @RequestHeader 不绑定(bind)在 POJO 中,但仅绑定(bind)在变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49305099/
我们可以使用@RequestHeader 强制 header 参数而不是值吗? 例如,如果我们使用, @RequestHeader(value = "abc", required = true) 参数
我们可以使用@RequestHeader 强制 header 参数而不是值吗? 例如,如果我们使用, @RequestHeader(value = "abc", required = true) 参数
我正在开发一个系统,需要为我们公司正在开发的应用程序中的所有 URL 发送不记名 token key (JWT),当存在需要下载的附件并单击它触发的链接时,就会出现问题移动设备上的浏览器。 如您所知,
是否有可能在 .htaccess (Apache 2.2) 中有一个 url 条件,当满足时它会执行 RequestHeader 指令?像这样的东西: if ( %{HTTP_HOST} == "ex
我正在制作一个记录请求 header 的 Chrome 扩展。 在我的background.js文件中我有这个代码 chrome.webRequest.onSendHeaders.addListene
我想在 apache 的 RequestHeader 上设置 SSL_CLIENT_S_DN_CN 的值,以下不起作用... SSLOptions +StdEnvVars SSLUserNam
我无法理解 play.api.mvc.Request[A] 之间的区别和 play.api.mvc.RequestHeader和 play.api.mvc.Request[play.api.mvc.A
我已经自定义了我的执行器/信息端点,我想使用标题中的信息来授权 RestTemplate调用另一个服务。 我在这里实现 InfoContributor: https://www.baeldung.co
注释@RequestHeader Spring框架的规定,方法参数应该绑定(bind)到Web请求头。 我工作的项目中,许多请求中都使用了@RequestHeader参数,但该参数本身从未在方法主体中
我正在使用 play 2.2.1 并尝试实现 404 请求的 Page。 为此,我在 View 中创建了一个 errorPage.scala.html ,并在 MyProject->app->cont
我可以将@RequestHeader 放在模型对象属性上吗? IE。 class MyModel { String ua; public void setUa(@RequestHead
我在用 @RequestHeader(value = "channel") String channel 在 Spring 应用程序 Controller 中获取 header ,它适用于普通 hea
我正在接收一个 JSON 对象,该对象是从前端作为字符串发送给我的,我希望 spring-boot 将其解析为我的 Map。 我尝试过 @RequestHeader("header-name") Ma
我在 Controller 中有一个方法,例如有参数 @RequestMapping(value = "/{blabla}", method = RequestMethod.POST) @Respon
我的 Controller 中有方法: @RequestMapping(method = RequestMethod.POST) public CustomObject createCustomObj
在 spring 3.2 中,我们在 Controller 中使用了它: @RequestHeader Map headers 问题是标题键的映射可以是任何大小写,所以我们必须重新构建标题映射,强制键
是否有任何选项可以为 spring boot 中的所有 @RequestHeader 添加默认值? @RequestHeader(value = "User-Accept-Language", def
我的 htaccess 文件中的以下 RewriteRule 未设置请求 header 。 Header set Access-Control-Allow-Origin "*" RewriteEngi
我需要发送一个带有一些修改过的 header 的 Http 请求。几个小时后试图找到与 Selenium RC 等效的方法 Selenium.addCustomRequestHeader对于 Sele
在 Chrome 扩展程序中,我尝试创建一个动态规则,通过 declarativeNetRequest 将字符串附加到用户代理,如下所示: chrome.declarativeNetReque
我是一名优秀的程序员,十分优秀!