spring boot 参数相关

******************************************

 

@RequestParam

这个注解用来绑定单个请求数据,既可以是url中的参数,也可以是表单提交的参数和上传的文件。

@RequestMapping(value="/login",method="...")
public ModelMap login(@RequestParam("username") String name,@RequestParam("password")String password){}

不能处理json格式请求

=============================================================

@PathVariable

这个注解可以将URL中的占位符参数绑定到控制器处理方法的入参。

@RequestMapping(value="/login/{username}/{password}",method=RequestMethod.Post)
public ModelMap login(@PathVariable String username,@PathVariable String password){
}

===============================================================
以上2种注解的使用方式参考Spring Boot Web项目之参数绑定,讲解的很详细,大部分情况都考虑到了。

 
\\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\
\\\\\\\\\\\\\\\\\\
 
 

@RequestBody

这个注解是传JSON对象用的,参考 @RequestBody的正确使用方法。不能通过Form表单、URL传参。

@RequestMapping(value="/login",method=RequestMethod.POST)
public ModelMap login(@RequestBody User user){
user.name ......................
}

=================================================================

 
 

Form-data

传送form表单数据,可以不用注解,直接传参,参数名字要一样。

@RequestMapping(value="/login",method=RequestMethod.POST)
public ModelMap login(String username,String password){}
这种传参方式不能处理json格式请求
=========================================================================
 

上传文件

@RequestMapping(value="/login",method=RequestMethod.Post)
public ModelMap login(User user){}
 
enctype必须设置:
{"enctype":"multipart/form-data"}
==================================================================

@RestController:

用于标注控制层组件(如struts中的action),包含@Controller和@ResponseBody

1. Controller, RestController的共同点
     都是用来表示Spring某个类的是否可以接收HTTP请求
2.  Controller, RestController的不同点
     @Controller标识一个Spring类是Spring MVC controller处理器
     @RestController:  a convenience annotation that does nothing more than adding the@Controller and @ResponseBody annotations。  @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
========================================================================

@ResponseBody

会将获取的数据以json的格式返回
@RequestMapping("/login")
@ResponseBody
public Model login(@RequestBody(require=false) User user){}
=====================================================================
 
 
springMVC参数
Model 用于接收并设置参数
 
******************************************************************************************************************** ********

最新文章

  1. 自动生成V字型
  2. Android取得图库图片的具体地址
  3. 原生js发送ajax请求
  4. DBCC DBREINDEX重建索引提高SQL Server性能
  5. sublime text编辑器删除已安装的插件
  6. TZC 1472 逆置正整数,去前导零 (java一句话秒杀)
  7. struts2文件下载 出现Can not find a java.io.InputStream with the name的错误
  8. svm、经验风险最小化、vc维
  9. JS创建类和对象
  10. wdcp-apache配置错误导致进程淤积进而内存吃紧
  11. QT creator中使用opencv
  12. 算法(Algorithm)是什么?
  13. .NET MD5 加密
  14. 关于COOKIE在本地可以正常写入发布后不能写入浏览器的问题
  15. Vue.js——component(组件)
  16. cocos2d JS 设置字幕循环滚动(背景图滚动亦可)
  17. (F - 超级英雄Hero HYSBZ - 1191 )匈牙利算法
  18. HihoCoder - 1051:补提交卡
  19. centos7 yum 安装 mysql
  20. [转]js和jquery获取窗体高度

热门文章

  1. 使用css实现时间轴
  2. mybatis入门篇:Mapper接口/关联查询/新增数据
  3. Python有趣时刻,这些代码让你大呼"卧槽,怎么会这样"
  4. Java 身份证判断性别获取年龄
  5. ABAP-FTP-执行
  6. sybase-sql语法-replace用法
  7. Activity中满屏和去标题的实现方法
  8. 数据库设计,表与表的关系,一对多。One-To-Many(2)
  9. Xpath延伸以及总结
  10. CSS表单2 组件排版