本文转自http://www.javabloger.com/article/spring3-rest-annotation.html
@RequestMapping @RequestParam @PathVariable @ModelAttributes @SessionAttributes @CookieValue @RequestHeader 都是Spring MVC REST中的注释方法,这几种注释方法的用法如下:
1#Controller 示例
URL示例: POST /users/query?userId=1234
@Controller
public class JavaBlogerController {
@Autowired
JavaBlogerService serviceLayer;
@RequestMapping
public String delete(@RequestParam String userId ){
serviceLayer.query (userId);
return "redirect:list";
}
}
2#CookieValue 示例
@RequestMapping ("/userList")
public String delete(@CookieValue("JSESSIONID") String sessionId ){
}
注释表明,CookieValue方法的参数可以绑定到HTTP的Cookie。支持在Servlet和Portlet环境注明处理方法。
3#RequestHeader示例
显示结果
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.11)
Gecko/2009060215 Firefox/3.0.11 (.NET CLR 3.5.30729)
Accept-Language: en-gb,en;q=0.5
Accept-Encoding: gzip,deflate
Keep-Alive: 300
@RequestMapping("/showJavaBlogerInfo")
public void showHeadInfo(
@RequestHeader("User-Agent"),String userAgent,
@RequestHeader("Accept-Encoding"),String encoding,
@RequestHeader("Keep-Alive"),long keepAlive, ){
}
4#HiddenHttpMethodFilter 示例
·Allows HTML browsers to emulate PUT and DELETE requests HTML forms only support GET/POST natively
·Special hidden parameter determines RequestMethod
上面2句话需要翻译一下
<%@taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<form:form method="delete">
<input value="Delete" type="submit">
</form:form>
@RequestMapping (metthod=RequestMethod.DELETE)
public void delete (@RequestParam String userId) {
System.out.println(userId);
}
5#/** 分页信息装载 */ 示例
@RequestMapping(value = "/page/{pageNo}", method = RequestMethod.GET)
public String pageLoad(@PathVariable int pageNo) {
String mapping = "mainPage";
System.out.println(pageNo);
return mapping;
}
6#SessionAttributes 示例
@Controller
@SessionAttributes( "currentUser " )
public class GreetingController {
@RequestMapping
public void hello(@ModelAttribute( "currentUser " ) User user) {
// user.sayHello()
}
//
}
使用@ModelAttribute 需要访问 Session 属性的 controller 上加上 @SessionAttributes,然后在 action 需要的 User 参数上加上 @ModelAttribute,并保证两者的属性名称一致。SpringMVC 就会自动将 @SessionAttributes 定义的属性注入到 ModelMap 对象,在 setup action 的参数列表时,去 ModelMap 中取到这样的对象,再添加到参数列表。只要我们不去调用 SessionStatus 的 setComplete() 方法,这个对象就会一直保留在 Session 中,从而实现 Session 信息的共享。
分享到:
相关推荐
Spring MVC REST Demo
Spring3.0 rest 实例,实现rest风格的访问
Spring REST Docs。 官网 Spring REST Docs API。 Spring REST Docs 开发文档。
Spring REST is a practical guide for designing and developing RESTful APIs using the Spring Framework. This book walks you through the process of designing and building a REST application while taking...
spring boot 连接数据库的例子,可以调试运行,目前流行的开发模式。
该实例展示了 spring3 REST 的使用方法,以及同一种内容,多种不同方式展示的实现,例如同一 User 信息,可以展示为:xml,json,html三种不同的格式。可以参考这篇文章:http://badqiu.javaeye.com/blog/552806
这是一个基于maven构建的java项目,整合了Apache CXF框架,实现restful风格的service
介绍restlet如何整合spring框架进行开发。Spring 是一个开源框架,是为了解决企业应用程序开发复杂性而创建的,广泛的应用于应用项目中。 具体教程可以查看http://www.lifeba.org/arch/restlet_spring_3.html。
使用Spring MVC3基于注解的形式实现的REST小例子 部署运行: 1. 将工程导入eclipse 2. 添加tomcat属性 工程(右键)——> tomcat project——> update context 3. 启动tomcat 4. 在浏览器中输入...
这些内容是作者个人总结所的,主要描述了如何使用Spring MVC搭建Rest服务的全过程,并提供了整个搭建过程的源码。整个搭建过程中使用了Jetty、JAXB2.0和Spring等相关框架和技术,希望下载的人能够对这些技术有所了解...
rest+spring+hibernate rest和spring之间用json交互
spring mvc基础开发 最基础类 一目了然 适合初学者
HATEOAS,即 Hypermedia as the Engine of Application State ,它是一种更成熟的REST模型,在资源的表达中包含了链接信息,客户端可以根据链接来发现可执行的动作。 Spring Data REST支持Spring Data JPA、Spring...
使用Spring MVC创建REST服务简单例子
CXF整合spring实现REST接口开发
基于spring mina 封装 rest 形式接口服务器,摆脱对tomcat,resin等服务器的依赖,基于spring,mina本身可提供tcp/ip接口,同时封装rest可方面提供http形式rest接口访问服务,方便接入
百度网盘,[Chapte5]Spring Security开发安全的REST服务视频教程,第5章,无加密
NULL 博文链接:https://leiwuluan.iteye.com/blog/1539767
◆全面的REST支持:在Spring MVC中天然支持REST,如REST式的请求映射,URI变量提取等。 ◆富Portlet 2.0支持:Spring MVC完全支持Portlet 2.0环境以及Portlet 2.0中新的事件与资源请求模型。 ◆对象/XML映射(OXM...
spring-rest2ts-generator从Spring MVC开始,但是我们注意到它也很容易支持JAX-RS注释,并且在1.2.4版本中添加了这种支持。 在版本1.2.4中,我们还添加了对支持, 是用于JSON API的轻型Angular2 +适配器 特征 从...