RequestMapping_请求参数&请求头
Posted 猩生柯北
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RequestMapping_请求参数&请求头相关的知识,希望对你有一定的参考价值。
params和headers支持简单的表达式:
--param1:表示请求必须包含名为param1的请求参数。
--!param1:表示请求不能包含名为param1的请求参数。
--param1 != value1:表示请求包含名为param1的参数,但其值不能为value1.
--{“param1=value1”,“param2”}:请求必须包含名为param1和param2的两个请求参数,且param1参数的值必须为value1。
实践:
SpringMVCTest.java:
index.jsp:
运行结果:
点击“Test ParamsAndheaders”,则:
报错的详细信息为:
1 警告: No matching handler method found for servlet request: path \'/springmvc/testParamsAndheaders\', method \'GET\', parameters map[\'username\' -> array<String>[\'xingxing\'], \'age\' -> array<String>[\'10\']]
因为在java代码中说了age不能等于10,如果把jsp代码中age的传入参数换为11,则结果如下:
可以运行。
假如把传入的参数中username属性删去,也会报错。运行如图:
然后,我们用谷歌浏览器打开这个网址,再用开发者工具。
然后,在SpringMVCTest.java中的@RequestMapping属性中加入headers={"Accept-Language=zh-CN,zh;q=0.9"}。
运行一下:
可以访问。
总结:可以使用params和headers来更精确地映射请求,params和headers支持简单的表达式。
以上是关于RequestMapping_请求参数&请求头的主要内容,如果未能解决你的问题,请参考以下文章
带有可选参数的 Spring @RequestMapping
SpringMVC入门系列篇3:@RequestMapping & @RequestHeader & @CookieValue详解与REST风格请求