文档章节

@RequestMapping, consumes 提交简单有意思的测试

莫库什勒
 莫库什勒
发布于 07/10 00:35
字数 512
阅读 87
收藏 0
amp

「深度学习福利」大神带你进阶工程师,立即查看>>>

 

getParm

@GetMapping("getParm")
public Result getParm(String id){
    System.out.println();
    return ResultFactory.success(id);
}

 

等同于 ==

 

 

 

bodyParm

@PostMapping("bodyParm")
public Result bodyParm(@RequestBody String id){
    System.out.println(id);
    return ResultFactory.success(id);
}

 

bodyParm2

@PostMapping(path = "bodyParm2",consumes = MediaType.APPLICATION_JSON_VALUE)
public Result bodyParm2(@RequestBody String id){
    System.out.println(id);
    return ResultFactory.success(id);
}

 

 

总结

1、form-data: 

                   就是http请求中的multipart/form-data,它会将表单的数据处理为一条消息,以标签为单元,用分隔符分开。既可以上传键值对,也可以上传文件。当上传的字段是文件时,会有Content-Type来说明文件类型;content-disposition,用来说明字段的一些信息;

form的enctype属性为编码方式,

常用有两种:application/x-www-form-urlencoded和multipart/form-data,默认为application/x-www-form-urlencoded。 
当action为get时候,浏览器用x-www-form-urlencoded的编码方式把form数据转换成一个字串(name1=value1&name2=value2...),然后把这个字串append到url后面,用?分割,加载这个新的url。 
当action为post时候,浏览器把form数据封装到http body中,然后发送到server。 

如果没有type=file的控件,用默认的application/x-www-form-urlencoded就可以了。 
但是如果有type=file的话,就要用到multipart/form-data了。浏览器会把整个表单以控件为单位分割,并为每个部分加上Content-Disposition(form-data或者file)、Content-Type(默认为text/plain)、name(控件name)等信息,并加上分割符(boundary)。

 

1. @PostMapping 未指定提交格式的:  url , form-data,x-www-form-urlencoded 均可以获取到值, 其他方式不行

2. @PostMapping 未指定提交格式时, 但参数使用@RequestBody 设定的, 则必须使用 x-www-form-urlencoded ,或者 raw (json,text,请求体格式),后端接收的数据为整个请求体的内容数据

3. @POSTMapping 未指定提交格式是,但参数使用@NotNull 设定是, 则必须使用url , form-data,x-www-form-urlencoded 均可以获取到值, 其他方式不行

4. @GetMapping 未指定提交格式式, 但参数使用@NotNull 设定时, 则必须使用url  或者 form-data 可以获取到值, 其他方式不行

 

莫库什勒

莫库什勒

粉丝 23
博文 217
码字总数 89829
作品 0
杭州
高级程序员
私信 提问
加载中
请先登录后再评论。
Netty那点事(三)Channel与Pipeline

Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的...

黄亿华
2013/11/24
2W
22
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.5K
8
Swift百万线程攻破单例(Singleton)模式

一、不安全的单例实现 在上一篇文章我们给出了单例的设计模式,直接给出了线程安全的实现方法。单例的实现有多种方法,如下面: class SwiftSingleton { } 这段代码的实现,在shared中进行条...

一叶博客
2014/06/20
3.4K
16
5分钟 maven3 快速入门指南

前提条件 你首先需要了解如何在电脑上安装软件。如果你不知道如何做到这一点,请询问你办公室,学校里的人,或花钱找人来解释这个给你。 不建议给Maven的服务邮箱来发邮件寻求支持。 安装Mav...

fanl1982
2014/01/23
1.2W
7
TDD的测试框架--Machine.Specification

Machine.Specification 是一个 TDD 测试驱动开发的测试框架,简化了测试,无需关心语言本身特性。 Machine.Specifications 带来的好处是不需要在代码里有注释,但同时阅读代码的人可以一目了...

匿名
2013/01/22
1.1K
0

没有更多内容

加载失败,请刷新页面

加载更多

没有指定分支的“git push”的默认行为 - Default behavior of “git push” without a branch specified

问题: I use the following command to push to my remote branch: 我使用以下命令推送到我的远程分支: git push origin sandbox If I say 如果我说 git push origin does that push ch......

技术盛宴
56分钟前
21
0
为什么在允许某些Unicode字符的注释中执行Java代码?

问题: The following code produces the output "Hello World!" 以下代码生成输出“Hello World!” (no really, try it). (不,真的,试试吧)。 public static void main(String... args......

富含淀粉
今天
18
0
字符串格式:%与.format - String formatting: % vs. .format

问题: Python 2.6 introduced the str.format() method with a slightly different syntax from the existing % operator. Python 2.6引入了str.format()方法,其语法与现有的%运算符略有不......

javail
今天
22
0
什么是按位移位(位移)运算符以及它们如何工作? - What are bitwise shift (bit-shift) operators and how do they work?

问题: I've been attempting to learn C in my spare time, and other languages (C#, Java, etc.) have the same concept (and often the same operators) ... 我一直在尝试在业余时间学习......

法国红酒甜
今天
32
0
OSChina 周二乱弹 —— 卧槽 李荣浩的契约兽啊

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @薛定谔的兄弟 :分享洛神有语创建的歌单「我喜欢的音乐」: 《红色的回忆》- 痛仰乐队 手机党少年们想听歌,请使劲儿戳(这里) 动弹, 又好多...

小小编辑
今天
81
1

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部