spring web参数传递
Posted i野老i
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring web参数传递相关的知识,希望对你有一定的参考价值。
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和@ResponseBody1. Controller, RestController的共同点
都是用来表示Spring某个类的是否可以接收HTTP请求
2. Controller, RestController的不同点
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController: a convenience annotation that does nothing more than adding [email protected] and @ResponseBody annotations。 @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
========================================================================
都是用来表示Spring某个类的是否可以接收HTTP请求
2. Controller, RestController的不同点
@Controller标识一个Spring类是Spring MVC controller处理器
@RestController: a convenience annotation that does nothing more than adding [email protected] and @ResponseBody annotations。 @RestController是@Controller和@ResponseBody的结合体,两个标注合并起来的作用。
========================================================================
@ResponseBody
会将获取的数据以json的格式返回
@RequestMapping("/login")
@ResponseBody
public Model login(@RequestBody(require=false) User user){}
=====================================================================
springMVC参数
Model 用于接收并设置参数
******************************************************************************************************************** ********
以上是关于spring web参数传递的主要内容,如果未能解决你的问题,请参考以下文章
如何使用spring消息PropertyPlaceholderConfigurer传递参数?
spring cloud——feign为GET请求时的对象参数传递