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参数传递的更多相关文章

  1. 《Spring实战》学习笔记-第五章:构建Spring web应用

    之前一直在看<Spring实战>第三版,看到第五章时发现很多东西已经过时被废弃了,于是现在开始读<Spring实战>第四版了,章节安排与之前不同了,里面应用的应该是最新的技术. ...

  2. 第05章-构建Spring Web应用程序

    1. Spring MVC起步 1.1 跟踪Spring MVC的请求 前端控制器DispatcherServlet 请求旅程的第一站是Spring的DispatcherServlet.与大多数基于J ...

  3. Spring实战第八章学习笔记————使用Spring Web Flow

    Spring实战第八章学习笔记----使用Spring Web Flow Spring Web Flow是一个Web框架,它适用于元素按规定流程运行的程序. 其实我们可以使用任何WEB框架写流程化的应 ...

  4. Spring实战第五章学习笔记————构建Spring Web应用程序

    Spring实战第五章学习笔记----构建Spring Web应用程序 Spring MVC基于模型-视图-控制器(Model-View-Controller)模式实现,它能够构建像Spring框架那 ...

  5. 笔记39 Spring Web Flow——订单流程(收集顾客信息)

    如果你曾经订购过披萨,你可能会知道流程.他们首先会询问你的电 话号码.电话号码除了能够让送货司机在找不到你家的时候打电话给 你,还可以作为你在这个披萨店的标识.如果你是回头客,他们可以 使用这个电话号 ...

  6. 《SSM框架搭建》三.整合spring web

    感谢学习http://blog.csdn.net/zhshulin/article/details/37956105#,还是修改了spring到最新的版本和接口开发示例 根据前一篇日志,已经有了myb ...

  7. Spring Web应用的最大瑕疵

    众所周知, 现在的Spring框架已经成为构建企业级Java应用事实上的标准了,众多的企业项目都构建在Spring项目及其子项目之上,特别是Java Web项目,很多都使用了Spring并且遵循着We ...

  8. Spring Framework------>version4.3.5.RELAESE----->Reference Documentation学习心得----->Spring Framework中的spring web MVC模块

    spring framework中的spring web MVC模块 1.概述 spring web mvc是spring框架中的一个模块 spring web mvc实现了web的MVC架构模式,可 ...

  9. spring web.xml 难点配置总结

    web.xml web.xml是所有web项目的根源,没有它,任何web项目都启动不了,所以有必要了解相关的配置. ContextLoderListener,ContextLoaderServlet, ...

随机推荐

  1. 二叉树遍历(flist)(已知中序和按层遍历,求先序 )

    问题 F: 二叉树遍历(flist) 时间限制: 1 Sec  内存限制: 128 MB提交: 11  解决: 9[提交][状态][讨论版][命题人:quanxing][Edit] [TestData ...

  2. 总结:Java 集合进阶精讲1

    知识点:Java 集合框架图 总结:Java 集合进阶精讲1 总结:Java 集合进阶精讲2-ArrayList 集合进阶1---为集合指定初始容量 集合在Java编程中使用非常广泛,当容器的量变得非 ...

  3. oracle数据库组件列表及相关的数据字典视图

    Component Data dictionary tables and views Database V$DATABASE, V$VERSION, V$INSTANCEShared server V ...

  4. 残差神经网络与inception-resnet

    一.基本概念 Residual Connection: 本质是“短路连接” 如下图阴影部分,通过增加shortcuts,加速训练,从而可以训练出更深的模型(I.R.v2 > Inception ...

  5. Linux背背背(4)vim操作

    目录 1.打开文件 2.vim的三种模式 3.扩展 (关于vi 和 vim 的区别,它们都是多模式编辑器,不同的是vim 是vi的升级版本,它不仅兼容vi的所有指令,而且还有一些新的特性在里面.) 1 ...

  6. Python笔记:深浅拷贝

    1.赋值操作两者是同一数据,其内存地址一样.适用于list.dict.set数据类型. 2.copy是浅拷贝,只能拷贝嵌套数据的第一层数据,嵌套的数据与赋值操作相同,其内存地址一样,当一个被更改,其他 ...

  7. Android 开发 Handler的基本使用

    转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/72677227 深入理解Handler.Looper.Messagequeue ...

  8. ORA-20011 问题处理

    今天巡检发现alert中报如下错: ORA-20011: Approximate NDV failed: ORA-29913: error in executing ODCIEXTTABLEOPEN ...

  9. py库: arrow (时间)

    arrow是个时间日期库,简洁易用.支持python3.6 https://arrow.readthedocs.io/en/latest/ arrow官网api https://github.com/ ...

  10. 分布式计算课程补充笔记 part 2

    ▶ 并行计算八字原则:负载均衡,通信极小 ▶ 并行计算基本形式:主从并行.流水线并行.工作池并行.功能分解.区域分解.递归分治 ▶ MPI 主要理念:进程 (process):无共享存储:显式消息传递 ...