网站运营推广的方法有哪些,人工智能公众号,学校网站代码模板,Wix网站开发 工作室在 Spring MVC 中#xff0c;我们可以通过 RequestMapping PathVariable 注解的方式#xff0c;来实现 RESTful 风格的请求。
1. 通过RequestMapping 注解的路径设置
当请求中携带的参数是通过请求路径传递到服务器中时#xff0c;我们就可以在 RequestMapping 注解的 val…在 Spring MVC 中我们可以通过 RequestMapping PathVariable 注解的方式来实现 RESTful 风格的请求。
1. 通过RequestMapping 注解的路径设置
当请求中携带的参数是通过请求路径传递到服务器中时我们就可以在 RequestMapping 注解的 value 属性中通过占位符 {xxx} 来表示传递的参数示例代码如下。
RequestMapping(/testRest/{id}/{username})
注意value 属性中占位符的位置应当与请求 URL 中参数的位置保持一致否则会出现传错参数的情况。
2. 通过 PathVariable 注解绑定参数
我们可以在控制器方法的形参位置通过 PathVariable 注解将占位符 {xxx} 所表示的参数赋值给指定的形参。
RequestMapping(/testRest/{id}/{username})
public String testRest(PathVariable(id) String id, PathVariable(username)String username) {System.out.println(id: id ,username: username);return success;
}
3. 通过 HiddenHttpMethodFilter 对请求进行过滤
由于浏览器默认只支持发送 GET 和 POST 方法的请求因此我们需要在 web.xml 中使用 Spring MVC 提供的 HiddenHttpMethodFilter 对请求进行过滤。这个过滤器可以帮助我们将 POST 请求转换为 PUT 或 DELETE 请求其具体配置内容如下。
!--来处理 PUT 和 DELETE 请求的过滤器--
filterfilter-nameHiddenHttpMethodFilter/filter-namefilter-classorg.springframework.web.filter.HiddenHttpMethodFilter/filter-class
/filter
filter-mappingfilter-nameHiddenHttpMethodFilter/filter-nameurl-pattern/*/url-pattern
/filter-mapping HiddenHttpMethodFilter 处理 PUT 和 DELETE 请求时必须满足以下 2 个条件
当前请求的请求方式必须为 POST当前请求必须传输请求参数 _method。
在满足了以上条件后HiddenHttpMethodFilter 过滤器就会将当前请求的请求方式转换为请求参数 _method 的值即请求参数 _method 的值才是最终的请求方式因此我们需要在 POST 请求中携带一个名为 _method 的参数参数值为 DELETE 或 PUT。 注意若 web.xml 中同时存在 CharacterEncodingFilter 和 HiddenHttpMethodFilter 两个过滤器必须先注册 CharacterEncodingFilter再注册 HiddenHttpMethodFilter。