本篇内容介绍了“@RequestLine怎么使用及配置”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!@RequestLine与其它请求不同,只需要简单写请求方式和路径就能达到请求其它服务的目的。之前在项目里请求三方服务时,使用的是restTemplate,其在组装参数上略显麻烦,其实我们可以使用openFeign自动的组件去请求三方服务,实现更加优雅依赖导入这些就不说了,直接进入正题其写法和@FeignClient类似,但要使用来自于openFeign的核心注解@RequestLine,而不是来自MVC的注解@PostMapping、@GetMapping。结束!就这么简单。为什么用的是@RequestLine这和open-feign的Contract设计有关系,Contract是一个注解解析接口,它决定了接口可以使用什么注解转换到http请求。open-feign在使用@FeignClient的情况下,使用的是SpringMvcContract,它使得被@FeignClient修饰的接口,可以使用@GetMapping,@PostMapping等Spring Mvc注解。如果我们要使用@RequestLine,则需要替换open-Feign的MVC解析器,像这样如果我们不单独配置,则会使用FeignClientsConfiguration中默认配置的SpringMvcContract。那为什么我们通过@Bean形式注册的feign客户端就能直接使用@RequestLine呢。因为@Bean形式注册的feign客户端不会使用这个配置,而是使用open-feign的默认Contract打开这个类,我们可以看到它的描述,它的作用可以分为两个:定义哪些注解在feign接口上是有校的定义接口的动作它的processAnnotationOnMethod(MethodMet免费云主机域名adata,Annotation, Method)方法,作用就是解析在feign接口上的注解,并转化为发送http请求需要的数据。方法代码:该类的该方法,只会处理@Body、@RequestLine和@Header 3个注解,如果不是的话,会直接跳过。 针对@RequestLIne:获取RequstLine的value,使用正则表达式判断值是否是“GET xxxx”这类的形式,不是就报错。解析到之后,获得方法和uri设置进RequestTemplate中针对@Body将@Body中的值塞到RequestTemplate的body中针对@Headers获取@Header中的值,进行解析,并放入RequestTemplate的Header中“@RequestLine怎么使用及配置”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注百云主机网站,小编将为大家输出更多高质量的实用文章!
相关推荐: .net任务调度框架FluentScheduler如何使用
这篇文章主要介绍“.net任务调度框架FluentScheduler如何使用”,在日常操作中,相信很多人在.net任务调度框架FluentScheduler如何使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”.net任务调度框…
免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。