本文将带您了解关于Grails3和Spring@RequestMapping的新内容,另外,我们还将为您提供关于1、Spring注解之@RequestMapping、@Controller文件相关@R
本文将带您了解关于Grails 3和Spring @RequestMapping的新内容,另外,我们还将为您提供关于1、Spring注解之@RequestMapping、@Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解、@RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)的实用信息。
本文目录一览:- Grails 3和Spring @RequestMapping
- 1、Spring注解之@RequestMapping
- @Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
- @RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)
Grails 3和Spring @RequestMapping
在Grails 3中,我尝试使用spring-security-
oauth,它通过@RequestMapping提供了一些终结点,我可以在mbeans中看到已配置路径,但是任何请求始终会命中Grails并返回404。
该请求似乎从未命中spring-security-oauth lib配置的任何端点。无论如何,要确保请求能够到达jar中的端点?
答案1
小编典典为了确保使用Java配置在Grails
3应用程序中显示由@RequestMapping配置的端点,您必须在Application.groovy中使用以下设置
@ComponentScan("my.org.config")class Application extends GrailsAutoConfiguration { static void main(String[] args) { GrailsApp.run(Application) }}
不要通过以下方式使用application.yml:
grails: profile: web spring: bean: packages: - my.org.config
虽然将使用@RequestMapping拾取bean,但是将无法访问。
1、Spring注解之@RequestMapping
阅读文本大概需要3分钟。
@RequestMapping是一个用来处理请求地址映射的注解,可用于类或者方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@RequestMapping注解有六个属性:
下面进行详细的讲解:
value:指定请求的实际地址,指定的地址可以是URI Template模式。
method:指定请求的method类型,GET、POST、PUT、DELETE等。
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json、application/xml、text/html等。
produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。
params:指定request中必须包含某些参数值才让该方法处理。
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。
备注:
@RequestMapping中consumes和produces的区别RequestMapping中consumes和produces的区别:
说到这两个参数,不得不先回顾一下HTTP协议Header中的两个东西
Content-Type 和Accept。在Request中,Content-Type 用来告诉服务器当前发送的数据是什么格式;而Accept 用来告诉服务器,客户端能认识哪些格式数据,最好返回这些格式中的其中一种。
consumes 用来限制Content-Type
produces 用来限制Accept
例子:
有个用户给发了一个请求,
请求头中
Content-Type =application/json
Accept = */*
就是说用户发送的json格式的数据,可以接收任意格式的数据返回。但是如果接口中定义如下:
@Controller
public class HelloWorld {
@RequestMapping(value="/helloworld",consumes={"application/xml"},produces={"application/xml"})
public String hello(){
System.out.println("hello world");return"success";
}
}
该接口只接收 application/xml 格式数据,也只返回application/xml格式数据。很明显是调不通这个接口的。
稍微改一下该接口,即可:
@Controller
public class HelloWorld {
@RequestMapping(value="/helloworld",consumes={"application/xml","application/json"},produces={"application/xml"})
public String hello(){
System.out.println("hello world");return"success";
}
}
handler method参数绑定常用的注解,根据他们处理的request的不同内容部分分为四类:
处理request uri部分的注解:@PathVariable;
处理request header部分的注解:@RequestHeader, @CookieValue;
处理request body部分的注解:@RequestParam, @RequestBody;
处理attribute类型的注解:@SessionAttributes, @ModelAttribute;
@PathVariable
当使用@RequestMapping URI template样式映射时,即someUrl/{paramId},这时的paramId可通过@PathVariable注解绑定它传过来的值到方法的参数上。
@RequestHeader、@CookieValue
@RequestHeader注解可以把Request请求header部分的值绑定到方法的参数上。
@CookieValue可以把Request header中关于cookie的值绑定到方法的参数上。
Spring Boot 最流行的 16 条实践
SSM框架的面试常见问题
【分布式】缓存穿透、缓存雪崩,缓存击穿解决方案
阿里P7给出的一份超详细 Spring Boot 知识清单
关注我每天进步一点点
你点的每个在看,我都认真当成了喜欢
本文分享自微信公众号 - JAVA乐园(happyhuangjinjin88)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
@Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping
https://blog.csdn.net/magi1201/article/details/82226289(copy)
最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下。
@GetMapping用于将HTTP get请求映射到特定处理程序的方法注解
具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。
@PostMapping用于将HTTP post请求映射到特定处理程序的方法注解
具体来说,@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。
下面我们来看下@GetMapping的源码,可以对上面的两句释义给予充分的支撑。
/**
* 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 "";
...
}
上面代码中,最关键的是 @RequestMapping(method = RequestMethod.GET),这行代码即说明@GetMapping就是@RequestMapping附加了请求方法。同时,可以看到@GetMapping这个注解 是spring4.3版本引入,同时引入的还有@PostMapping、@PutMapping、@DeleteMapping和@PatchMapping,一共5个注解。
所以,一般情况下用@RequestMapping(method = RequestMethod. XXXX)即可。
@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解
最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下:
Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义
@GetMapping: 处理get请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)
新方法可以简写为:
@GetMapping("/get/{id}")
@PostMapping: 处理post请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”,method = RequestMethod.POST)
新方法可以简写为:
@PostMapping("/get/{id}")
@PutMapping: 和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。两者差别不是很明显。
@DeleteMapping 删除URL映射,具体没有再实践中用过,不知道好在什么地方
@PatchMapping 至今不知如何用,再什么场景下用。。。有知道的欢迎留言或私信
上面所有的mapping归根到底就是两种请求,即:post和get,Spinrg官方引进众多请求的原因个人感觉是,简化配置。post和get两者的区别如下:
首先,什么情况下是get请求呢:
直接在浏览器地址栏输入某个地址
表单默认的提交方式
什么情况下是post请求呢:
设置表单method = “post”
ajax type: ‘post’,
浏览器通过url处理的请求为get请求,如果后台限制只能用post请求会发生如下错误:
method not allowed, The specified HTTP method is not allowed for the requested resource.
1
get请求特点:
a. 请求参数会添加到请求资源路径的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)
b. 请求参数会显示在浏览器地址栏,路由器会记录请求地址 (极为的不安全)
c.如果传输中文,必定会乱码(原因:get请求默认编码格式为:IIO-8859-1,后台编码格式一般为:GBK或者UTF-8)
post请求的特点:
a. 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
b. 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)
————————————————
版权声明:本文为CSDN博主「只会debugger」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/java_xdo/article/details/88711192
@RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)

转:
@RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)
学习目标
1、一周掌握 JAVA 入门到进阶知识
2、掌握基础 C#l 窗体知识
3、手把手教你 vbs 脚本制作
4、强大的 IDEA 编程利器
5、经典少见的 面试题目技巧
@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法
- 学习目标
- 前言
- @PostMapping
- @DeleteMapping
- @PutMapping
- @GetMapping
- @RequestMapping
- 总结
前言
希望:2012 新的一年,想要的都拥有,得不到的都释怀!
@PostMapping
如图所示:
增加应该使用 POST
@DeleteMapping
如图所示:
删除应该使用 DELETE
@PutMapping
如图所示:
修改应该使用 PUT
@GetMapping
如图所示:
查询应该使用 GET
@RequestMapping
如图所示:
@GetMapping是一个组合注解 是@RequestMapping(method = RequestMethod.GET)的缩写
@DeleteMapping是一个组合注解 是@RequestMapping(method = RequestMethod.DELETE)的缩写
@PutMapping是一个组合注解 是@RequestMapping(method = RequestMethod.PUT)的缩写
@PostMapping是一个组合注解 是@RequestMapping(method = RequestMethod.POST)的缩写
总结
通过上面的介绍,我们应该学会了怎么用上述的注解了。
转:
@RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)
--Posted from Rpc
关于Grails 3和Spring @RequestMapping的问题我们已经讲解完毕,感谢您的阅读,如果还想了解更多关于1、Spring注解之@RequestMapping、@Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解、@RequestMapping,@GetMapping ,@PostMapping,@PutMapping,@DeleteMapping 请求的用法(推荐)等相关内容,可以在本站寻找。
本文标签: