GetMapping 和 PostMapping最大的差别(转)
同样一个方法实现,用@get定义和@post定义,@get能通过测试,而@post不能
@GET //@POST
@Path("/getUser")
@Produces("application/json") //@Consumes(application/x-www-form-urlencoded)
public String getUserById(@QueryParam("loginID") String loginID) throws Exception {
String users = null;
CVCUserDAO dao = new CVCUserDAO();
ArrayList<User> datas = dao.getUsers(loginID);
Gson gson = new Gson();
users = gson.toJson(datas); return users;
// return "Hello World";
}
从来我以为get和post只是一种规范,好吧。。。从某种程度上,是的。
但是当使用浏览器去测试它的时候,就不是了
通过浏览器的地址栏输入地址,所访问的URL都是get请求,因此如果以post定义方法,那么由于请求与实现的不一致,会返回405错误,method not allowed, The specified HTTP method is not allowed for the requested resource.
这归根到底是因为浏览器发送了get请求,而方法只能处理post请求,所以发生的错误
可能是这么问题太low了,我网上找了一大圈都没有找到答案,最后在stackoverflow上找到了解答
http://stackoverflow.com/questions/25253972/put-jersey-error-405-method-not-allowed
他说的很好,如果想用浏览器做post的测试,那么就下一个chrome的postman插件,完美解决你的问题
最后从360Doc上找到了Get和Post请求的区别,贴在这里
1. 哪一些情况下,浏览器会发送get请求
a. 直接在浏览器地址栏输入某个地址
b. 点击链接
c. 表单默认的提交方式
2. 哪一些情况下,浏览器会发送post请求?
a. 设置表单method = "post"
3. get请求的特点
a. 请求参数会添加到请求资源路劲的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)(2K左右的数据,看起来也不少。。。)
b. 请求参数会显示在浏览器地址栏,路由器会记录请求地址
4. post请求的特点
a. 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
b. 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)。
GetMapping 和 PostMapping最大的差别(转)的更多相关文章
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下: Spring4.3中引 ...
- @getMapping与@postMapping
首先要了解一下@RequestMapping注解. @RequestMapping用于映射url到控制器类的一个特定处理程序方法.可用于方法或者类上面.也就是可以通过url找到对应的方法. @Requ ...
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping
@GetMapping.@PostMapping.@PutMapping.@DeleteMapping.@PatchMapping @GetMapping是一个组合注解,是@RequestMappi ...
- @getMapping和@postMapping,@RestController 区别
@getMapping和@postMapping,@RestController @RequestMapping 和 @GetMapping @PostMapping 区别 @GetMapp ...
- springBoot--组合注解RestController,GetMapping,PostMapping
一.RestController @RestController 是@Controller和@ResponseBody的缩写 二.@getMapping和PostMapping @GetMapping ...
- @getMapping和@postMapping,@RestController
@RequestMapping 和 @GetMapping @PostMapping 区别 @GetMapping是一个组合注解,是@RequestMapping(method = Reques ...
- @GetMapping和@PostMapping 和@RequestMapping区别
@GetMapping 用于将HTTP GET请求映射到特定处理程序方法的注释. 具体来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(method = Requ ...
- @GetMapping、@PostMapping和@RequestMapping的区别
@GetMapping 用于将Http Get 请求映射到特定处理程序方法的注释.具体来说就是:@GetMapping是一个作为快捷方式的组合注释 @RequestMapping(method = R ...
- @RequestMapping和@GetMapping和PostMapping
简介 - @GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写.该注解将HTTP Get 映射到 特定的处理方法上. - ...
随机推荐
- 【译】第21节---Fluent API
原文:http://www.entityframeworktutorial.net/code-first/fluent-api-in-code-first.aspx 在前面的学习中.我们已经看到不同的 ...
- Leetcode118_Pascal's Triangle_Easy
Given a non-negative integer numRows, generate the first numRows of Pascal's triangle. In Pascal's t ...
- HDU 5459 Jesus Is Here(递推)
http://acm.hdu.edu.cn/showproblem.php?pid=5459 题意: S(1) = c,S(2) = ff, S(3) = cff,之后S(i) = S(i-1)+S( ...
- RN 实现简易浏览器
import React, { Component } from 'react'; import { AppRegistry, StyleSheet, Text, View, Dimensions, ...
- 真刀实战地搭建React+Webpack+Express搭建一个简易聊天室
一.前面bb两句 因为自惭(自残)webpack配置还不够熟悉,想折腾着做一个小实例熟悉.想着七夕快到了,做一个聊天室自己和自己聊天吧哈哈.好了,可以停止bb了,说一下干货. 二. 这个项目能学到啥? ...
- 【UOJ】【BZOJ】 [Zjoi2016]小星星
题目链接: http://uoj.ac/problem/185 http://www.lydsy.com/JudgeOnline/problem.php?id=4455 考虑枚举原图中我选择哪一些点, ...
- VC.判断双字节字符集前导字节集(IsDBCSLeadByte)
ZC:这是 WIndows API 函数 1.“BOOL IsDBCSLeadByte( char );” 判断 某字节是否在 双字节字符集的前导字节集中 ZC:可以判断 如 汉字.日文.韩文等 Z ...
- 学习笔记45—Linux压缩集
1.压缩功能 安装 sudo apt-get install rar 卸载 sudo apt-get remove rar 2.解压功能 安装 sudo apt-get install unrar 卸 ...
- Java获得日期相差的天数
文章来源: http://www.jb51.net/article/75551.htm 这篇文章主要介绍了java计算两个时间相差天数的方法,感兴趣的小伙伴们可以参考一下: 问题描述: 输入:两个日期 ...
- Racadm设置idrac
参考文档 idrac7-8-lifecycle-controller-v2.40.40.40_Reference Guide_en-us 0.下文中账户名密码均省略-r <RAC IP add ...