- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章聊聊@RequestMapping和@GetMapping @PostMapping的区别由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
最近学习看一些代码,发现对于发送请求这件事,有的地方用@requestmapping,有的地方用@postmapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下.
@getmapping
用于将http get请求映射到特定处理程序的方法注解@postmapping
用于将http post请求映射到特定处理程序的方法注解可以对上面的两句释义给予充分的支撑.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
|
/**
* annotation for mapping http {@code get} requests onto specific handler
* methods.
*
* <p>specifically, {@code @getmapping} is a <em>composed annotation</em> that
* acts as a shortcut for {@code @requestmapping(method = requestmethod.get)}.
*
*
* @author sam brannen
* @since 4.3
* @see postmapping
* @see putmapping
* @see deletemapping
* @see patchmapping
* @see requestmapping
*/
@target
(elementtype.method)
@retention
(retentionpolicy.runtime)
@documented
@requestmapping
(method = requestmethod.get)
public
@interface
getmapping {
/**
* alias for {@link requestmapping#name}.
*/
@aliasfor
(annotation = requestmapping.
class
)
string name()
default
""
;
...
}
|
上面代码中,最关键的是 。
1
|
@requestmapping
(method = requestmethod.get)
|
这行代码即说明@getmapping就是@requestmapping附加了请求方法.
同时,可以看到@getmapping这个注解 是spring4.3版本引入,同时引入的还有@postmapping、@putmapping、@deletemapping和@patchmapping,一共5个注解.
所以,一般情况下用 。
1
|
@requestmapping
(method = requestmethod. xxxx)
|
即可.
介绍几种如何处理url中的参数的注解@pathvaribale/@requestparam/@getmapping.
@pathvaribale 获取url中的数据 。
@requestparam 获取请求参数的值 。
@getmapping 组合注解,是@requestmapping(method = requestmethod.get)的缩写 。
看一个例子,如果我们需要获取url=localhost:80/consumer/get/{id}中的返回的dept值,实现代码如下:
以上,通过@pathvariable注解来获取url中的时参数的前提条件是我们知道url的格式时怎么样的.
只有知道url的格式,我们才能在指定的方法上通过相同的格式获取相应位置的参数值.
一般情况下,url的格式为:localhost:80/consumer/get/{id},这种情况下该如何来获取其中的返回的dept值呢.
当输入:http://localhost/consumer/dept/get/1?id=1 。
看到返回了dept的结果:
但是当输入:http://localhost/consumer/dept/get/1 (即不输入id参数和参数值) 。
但是当输入:http://localhost/consumer/dept/get/1?id (不输入id参数值) 。
会报如下错误:
@requestparam注解给我们提供了这种解决方案,即允许用户不输入id时,使用默认值,具体代码如下:
此时输入:http://localhost/consumer/dept/get/1?id 就不在报错(使用了默认值) 。
输入:http://localhost/consumer/dept/get/1 。
@getmapping是一个组合注解,是@requestmapping(method = requestmethod.get)的缩写。该注解将http get 映射到 特定的处理方法上.
即可以使用@getmapping(value = “/dept/get/{id}”)来代替 。
1
|
@requestmapping
(value=”/dept/get/{id}”,method= requestmethod.get)
|
即可以让我们精简代码.
输入:http://localhost/consumer/dept/get/1?id 。
输入:http://localhost/consumer/dept/get/1 。
本篇文章介绍了几种常用获取url中的参数哈,比较简单。以上为个人经验,希望能给大家一个参考,也希望大家多多支持我.
原文链接:https://blog.csdn.net/magi1201/article/details/82226289 。
最后此篇关于聊聊@RequestMapping和@GetMapping @PostMapping的区别的文章就讲到这里了,如果你想了解更多关于聊聊@RequestMapping和@GetMapping @PostMapping的区别的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
如何在Spring中忽略类级别@RequestMapping("/home")并直接调用方法级别@RequestMapping("/users")? @Controller @RequestMappi
让我们假设以下 Controller : @RestController public class MyController { @RequestMapping(method = GET, pat
我在使用 Spring Boot 时遇到了一些问题。 当我使用 @RequestMapping(value = "/home") 时,一切正常。但是当我使用 @RequestMapping(name
我正在尝试创建一个restful API(使用Spring Boot v2.0.0.Release),我希望有一个端点,但我希望有两种可能的用途: GET /time - outputs curren
我已经被这个错误困扰了几个小时。。我的pom.xml。应用程序未启动。所有的Spring框架依赖于相同的版本,但仍然得到相同的错误。。更新。MVN依赖的结果:树。看起来这里一切都很好。
我有以下三个 REST API 方法: @RequestMapping(value = "/{name1}", method = RequestMethod.GET) public Objec
我正在尝试为 spring @RequestMapping 注释创建值属性以像这样映射 url /educationDistrict/308/action/resetAddressesForYear/
如何定义 @RequestMapping 方法来显式允许匿名(未经授权)访问? 以下方法不起作用,总是收到 401 Unauthorized: @RequestMapping("/test") @Se
想象一下我有一个像这样的 Spring MVC Controller : @Controller @RequestMapping("/base-url") public class MyControl
如何处理除资源映射文件夹之外的所有 URL 请求? 在这个例子中,我处理了所有路径(这就是我想要的),但现在即使我设置也无法访问资源文件夹 里面dispatcher-servlet.xml @Req
我需要有一个/jsp/login 和/jsp/login?error 的映射 请注意,我无法使用/jsp/login?error=someval 然后检查参数是否具有该值或默认值。在这种情况下,不允许
让 Tomcat 启动并自动显示 index.jsp 文件的内容没有任何问题。然而,当我尝试使用 @Controller 和 @RequestMapping 时,我遇到了错误。这是我的 Control
我有以下文件夹结构: WEB-INF/ -- 页数/ ----home.jsp ----admin.jsp ----admin2.jsp ----admin3.jsp 我有以下 Controller
我正在使用 Spring Boot,并尝试显示 get 请求。我正在使用 2 个类:Greeting.java 和 GreetingController: package greeting;
我正在尝试使用 @RequestMapping与 consumes -元素。阅读API-document它适用于 Content-Type - 请求头。但是,使用 @RequestMapping(co
我已经为此打开了一个问题 here.但我也想问一下 stackoverflow 的人。 @Controller @RequestMapping("/xxx") public class MyContr
我想在我的 Spring Boot 应用程序中创建一个自定义注释,它总是向我的类级别 RequestMapping 路径 添加一个前缀。 我的 Controller : import com.sage
鉴于下面的@Controller,即使我向 webApp 发送 Get 请求, Controller 也会运行 homePage 方法。 @RestController @RequestMapping
我正在尝试设置 Controller ,但不幸的是无法查看输出...一切都正确渲染。当我访问 http://localhost:8080/CMT/content/edit 时,我得到一个 404 页面
在我的 Spring Controller 中,我创建了 3 个方法。方法 1 和方法 2 工作正常,但方法 3 给我带来问题 问题: org.springframework.web.servlet.
我是一名优秀的程序员,十分优秀!