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. access数据库编号转换成统一3位数长度方法,不足3位前面补零

    select C_CUN+Format(Val(NZ(C_LB)),"000") from LBM 这条SQL只能在access数据库中执行,因为sql不支持NZ函数,而且c_lb ...

  2. Gitlab CI 持续集成的完整实践

    Gitlab CI 持续集成的完整实践 本着公司团队初创,又在空档期想搞点事情,搭建了私有Gitlab的契机,顺便把持续集成搭建起,实现了对Python服务端代码的单元测试.静态代码分析和接口测试的持 ...

  3. Linux find 命令参数大全及示例

    Linux中find常见用法示例 命令格式:find path -option [-print] [ -exec -ok command] {} \; 参数说明: path:find命令所查找的目录路 ...

  4. Excel宏录制、数据透视表、合并多个页签

    前段时间做数据分析的时候,遇到很多报表文件需要处理,在此期间学习了很多Excel操作,特此做笔记回顾. Excel宏录制 打开开发者工具 打开Excel文件,选择”文件”-->“选项”--> ...

  5. docker 小结

    1.docker修改镜像地址: /etc/docker/daemon.json 2.docker 启动容器: docker run -t -i ubuntu:14.04 /bin/bash 3.查看容 ...

  6. java 解耦

    探索目的:使用的时候,只需要一次调用就可以完成日常复杂的操作.而工具类的高耦合带来业务代码维护复杂度加大.以 java 的思想对原始工具加以改进. 有没有比这里尝试的方法更高明的,在 A_Utils. ...

  7. JVM内容梳理

  8. kettle实现多表同步

    本样例实现源库的所有表到目标库的同步sqlserver=>mysql(目标表存在表结构则同步),总调度如下: 由于复制记录到结果保存了多个表名,存在多个值,在高级选择对每个输入行执行一次进行循环 ...

  9. 1. jdk内存配置

    -Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=512m

  10. python中的__str__()函数

    __str__()函数的作用: 不知道大家再写程序是,打印一个实例化对象时,打印的其实时一个对象的地址.而通过__str__()函数就可以帮助我们打印对象中具体的属性值,或者你想得到的东西. 因为再p ...