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. 用到的linux命令

    1.修改文件权限 chmod 777 文件路径 修改文件下所有文件权限 chmond -R 777 文件路径 2.修改文件 (保存文件的方法,在命令行窗口 shift+:换出底部命令行, q表示退出, ...

  2. [UE4]瞬移

    1.设置Input,事件名称设置为Teleport 2.设置事件Teleport 3.

  3. Java备份文件

    文件名后面补时间: public static void initFile(String sPath) { SimpleDateFormat df = new SimpleDateFormat(&qu ...

  4. 消息对话框 MessageBoxButtons

    消息对话框MessageBox经常用于向用户显示通知信息.例如,在操作过程中遇到错误或程序异常,经常会使用这种方式给用户以提示,它是特殊类型的对话框. 在C#中,MessageBox消息对话框位于Sy ...

  5. Spring MVC Controller异常处理总结

    在项目开发过程中,经常遇到服务被攻击的情况,虽然接口在设计过程中有相当多的安全措施,例如cookie校验.风控.访问熔断等相关技术保证服务的安全性,不过感觉还是有必要收集分析一下这些攻击请求者,以备为 ...

  6. Python全栈开发记录_第二篇(文件操作及三级菜单栏增删改查)

    python3文件读写操作(本篇代码大约100行) f = open(xxx.txt, "r", encoding="utf-8") 不写“r”(只读)默认是只 ...

  7. [mysql,2018-02-28] bat安装、启动mysql,并创建数据库、表

    @echo off f: cd F:\mysql-win32 @echo off&setlocal enabledelayedexpansion cd bin echo ###### 停止当前 ...

  8. cookies的常见方式

    cookie有如下特点 保存在客户端,一般由浏览器负责存储在本地. 通常是加密存储的,不过由于存储在本地,很难保证数据不被非法访问,并不怎么安全,所以cookies中不宜保存敏感信息,如密码等. 哪些 ...

  9. SpringBoot 六问

    1.什么是springboot         用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件)                  创建独立 ...

  10. ARCore中四元数的插值算法实现

    ARCore中四元数差值算法: 其中t的取值范围为[0, 1],当 t = 0 时,结果为a:当t = 1 时,结果为b. public static Quaternion makeInterpola ...