关键字:spring 自定义注解实现(MVC层)
前言
在使用过程中,发现spring mvc的restful架构,有一些满足不了需求。因此研究了一下自定义注解开发满足需求。
自定义注解,可以无缝输入参数到controller中,尤其是http的put请求。
一 搭建标准的spring mvc环境
略。
二 开发注解详细过程
1.开发注解 RequestParamExtend
2.开发注解解释器 RequestParamExtendMethodArgumentResolver
3.在spring配置文件中,注册解释器
4.开发拦截器,把参数从request.getInputStream()读取出来,放到request.setAttribute中
三 扩展阅读
1.PUT request can't get parameter from request.getparameter()
2.PUT提交的参数,目前都是从request.getInputStream()中读取,因此读取一次,无法再次读取。需要放到request.Attribute中
3.PUT提交的参数,在流中读出之后,结构如下 param1=value1¶m2=value2¶m3=value3,因此需要自己解析并组装成map
4.RequestParamExtend注解与RequestParam注解完全相同,只是解释器不同,见代码中注释部分
5.推荐使用httpComponent4.1进行测试,此方法本人在生产环境中已经通过测试。
前言
在使用过程中,发现spring mvc的restful架构,有一些满足不了需求。因此研究了一下自定义注解开发满足需求。
自定义注解,可以无缝输入参数到controller中,尤其是http的put请求。
一 搭建标准的spring mvc环境
略。
二 开发注解详细过程
1.开发注解 RequestParamExtend
2.开发注解解释器 RequestParamExtendMethodArgumentResolver
3.在spring配置文件中,注册解释器
4.开发拦截器,把参数从request.getInputStream()读取出来,放到request.setAttribute中
三 扩展阅读
1.PUT request can't get parameter from request.getparameter()
2.PUT提交的参数,目前都是从request.getInputStream()中读取,因此读取一次,无法再次读取。需要放到request.Attribute中
3.PUT提交的参数,在流中读出之后,结构如下 param1=value1¶m2=value2¶m3=value3,因此需要自己解析并组装成map
4.RequestParamExtend注解与RequestParam注解完全相同,只是解释器不同,见代码中注释部分
5.推荐使用httpComponent4.1进行测试,此方法本人在生产环境中已经通过测试。