首页 > 编程语言 > 详细

spring web参数传递

时间:2018-10-23 00:34:57      阅读:28      评论:0      收藏:0      [点我收藏+]

标签:提交   情况   post   nothing   spa   rest   方法   上传文件   组件   

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 用于接收并设置参数
 
******************************************************************************************************************** ********

spring web参数传递

标签:提交   情况   post   nothing   spa   rest   方法   上传文件   组件   

原文:https://www.cnblogs.com/yelao/p/9833995.html

(0)
(0)
   
举报
评论 一句话评论(0
0条  
登录后才能评论!
© 2014 bubuko.com 版权所有 鲁ICP备09046678号-4
打开技术之扣,分享程序人生!
             

鲁公网安备 37021202000002号