首页 > 其他分享 >spring3.0 mvc rest 注解之@

spring3.0 mvc rest 注解之@

时间:2023-05-06 16:03:30浏览次数:43  
标签:RequestMapping spring3.0 示例 userId rest RequestHeader mvc public String


关键字:spring mvc rest 注解之@

@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 信息的共享。

标签:RequestMapping,spring3.0,示例,userId,rest,RequestHeader,mvc,public,String
From: https://blog.51cto.com/u_7450530/6250453

相关文章

  • springmvc大体工作流程
    1、用户发送HTTP请求到DispatcherServlet;2、DispatcherServlet调用HandlerMapping找到对应的处理器(类似Controller里的方法的RequestMapping),然后以HandlerExecutionChain执行链的形式返回给DispatcherServlet;3、DispatcherServlet把执行链中的Handler发送给HandlerAdapter;4、H......
  • asp.net mvc项目中修改业务无关的代码为异步执行
    将业务无关的逻辑,修改为异步执行,示例代码:publicActionResultSubmitOrder(Orderorder){//Savetheordertothedatabasesynchronously//SendemailasynchronouslyusingTaskTask.Run(()=>SendEmailAsync(order.RecipientEmail,"OrderConfirmation......
  • VS2022创建.NET Framework MVC 并发布到IIS
     创建 发布 设置完成后点击发布 部署IIS ......
  • Django的MVT模式和Spring的MVC模式类比
    Spring的MVC模式MVC: Model-View-Controller 模型-视图-控制器M:数据处理V:界面显示C:逻辑处理最开始用于Desktop程序开发,现在已被广泛使用,包括Web开发。核心思想: 分层,解耦。MVC分离了数据处理和界面显示的代码,使得程序可以在不修改数据处理相关逻辑的前提下......
  • SpringMVC----入门
    Springmvc在Spring特征里面处于满核心的地位,在官网上的对Spring特征(FEATURES)罗列中,对应这是“MODERNWEB”(现代web),也就是Spring特征的第一项。也反映了其重要作用,另一方面也是因为mvc在Spring项目中诞生比较早。只要是同网络应用相关的,无论是有同用户互动的(带UI的)或者没有互动......
  • RestHighLevelClient 使用总结
    .index接口--新增/更新索引,内容更新是覆盖式的.update接口--更新索引,支持局部字段的更新,相对.index接口相比,减少了没有必要的字段更新 相关文档:https://zhuanlan.zhihu.com/p/551414799......
  • SpringMVC 超大文件上传和断点续传的实现
    ​IE的自带下载功能中没有断点续传功能,要实现断点续传功能,需要用到HTTP协议中鲜为人知的几个响应头和请求头。 一. 两个必要响应头Accept-Ranges、ETag        客户端每次提交下载请求时,服务端都要添加这两个响应头,以保证客户端和服务端将此下载识别为可以断点续传......
  • OpenResty学习笔记03:深入体验WAF
    一.WAF概况  二.Lua介绍  三.文件说明  四.引用关系  五.测试&体验  六.本篇总结  ......
  • abc268 C - Chinese Restaurant
    C-ChineseRestaurant 算贡献就是在普通思路上交换循环数,或是交换求和符号的2边的个数,来达到优化和解题的目的对于该题,我刚开始的想法是循环旋转次数,再去查看符合要求的菜的个数,这样是O^2的于是我们交换循环数,先去循环每个菜,我们发现每个菜实际上只对3个循环次数有贡献,于是......
  • springboot mvc配置原理+扩展springmvc(重点)
    1.新建config目录2.在config目录下创建自定义配置类3.根据官方文档得到要有注解@Configuration并且继承类WebMvcConfigurer 扩展springmvc:我们慢慢脱离了原始的繁琐的xml配置,现在转向javaconfig配置 最后扩展->springmvc配置原理源码:注意点:springmvc的配置在springboo......