Faz*_*zoM 5 java spring spring-mvc
Spring 和将请求标头名称值注入控制器存在问题。
这是代码:
@Controller
public class ApiController {
@Value("${param.header_name}")
private String param;
@RequestMapping(value = "/**")
public void handleApiRequest(final HttpServletRequest request, final HttpServletResponse response,
@RequestHeader(value = param) final String param)
Run Code Online (Sandbox Code Playgroud)
属性是使用@PropertySource和定义的PropertySourcesPlaceholderConfigurer。
问题是:
“注释属性 RequestHeader.value 的值必须是常量表达式。”
但不可能将值注入常量(最终静态)字段。有解决方法吗?我想使用RequestHeader注释/映射和属性文件来定义标头名称。
注解中使用的值必须在编译时可解析,但param的值只能在运行时确定
我看到的唯一解决方案是使用HttpServletRequest.getHeader(String):
String headerValue = request.getHeader(param);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4602 次 |
| 最近记录: |