当前位置: 首页 > news >正文

陕西建设银行网站食品网站的功能定位

陕西建设银行网站,食品网站的功能定位,农村自建房设计,wordpress 博客论坛JAVA 项目中如何实现接口调用#xff1f; 1#xff09;Httpclient HttpClient 是 Apache Jakarta Common 下的子项目#xff0c;用来提供高效的、最新的、功能丰富 的支持 Http 协议的客户端编程工具包#xff0c;并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传… JAVA 项目中如何实现接口调用 1Httpclient HttpClient 是 Apache Jakarta Common 下的子项目用来提供高效的、最新的、功能丰富 的支持 Http 协议的客户端编程工具包并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带的 URLConnection提升了易用性和灵活性使客户端发送 HTTP 请求变 得容易提高了开发的效率。 2Okhttp 一个处理网络请求的开源项目是安卓端最火的轻量级框架由 Square 公司贡献用于替代 HttpUrlConnection 和 Apache HttpClient。OkHttp 拥有简洁的 API、高效的性能并支持 多种协议HTTP/2 和 SPDY。 3HttpURLConnection HttpURLConnection 是 Java 的标准类它继承自 URLConnection可用于向指定网站发送 GET 请求、POST 请求。HttpURLConnection 使用比较复杂不像 HttpClient 那样容易使 用。 4 RestTemplate WebClient RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端RestTemplate 提供了多种便 捷访问远程 HTTP 服务的方法能够大大提高客户端的编写效率。 上面介绍的是最常见的几种调用接口的方法我们下面要介绍的方法比上面的更简单、方便 它就是 Feign。 1. 什么是Feign Feign是Netflix开发的声明式、模板化的HTTP客户端其灵感来自Retrofit、JAXRS-2.0以及WebSocket。Feign可帮助我们更加便捷、优雅地调用HTTP API。 Feign支持多种注解例如Feign自带的注解或者JAX-RS注解等。 Spring Cloud openfeign 对Feign进行了增强使其支持Spring MVC注解另外还整合了 Ribbon和Nacos从而使得Feign的使用更加方便 1.1 优势 Feign可以做到 使用 HTTP 请求远程服务时就像调用本地方法一样的体验 开发者完全感知不 到这是远程方法更感知不到这是个 HTTP 请求。它像 Dubbo 一样consumer 直接调用接 口方法调用 provider而不需要通过常规的 Http Client 构造请求再解析返回数据。它解决了 让开发者调用远程接口就跟调用本地方法一样无需关注与远程的交互细节更无需关注分布 式环境开发。 2. Spring Cloud Alibaba快速整合OpenFeign 1引入依赖 !--1. 添加openfeign依赖 -- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency 2编写调用接口FeignClient注解 FeignClient(value mall‐order,path /order)public interface OrderFeignService {RequestMapping(/findOrderByUserId/{userId})public String findOrderByUserId(PathVariable(userId) Integer userId);} 3调用端在启动类上添加 EnableFeignClients 注解 /*** author yanqx* date 2023/11/13 14:10*/ SpringBootApplication EnableFeignClients public class FirsrtFeignApplication {public static void main(String[] args) {SpringApplication.run(FirsrtFeignApplication.class, args);}} 4发起调用像调用本地方式一样调用远程服务 RestControllerRequestMapping(/user)public class UserController {AutowiredOrderFeignService orderFeignService;RequestMapping(value /findOrderByUserId/{id})public R findOrderByUserId(PathVariable(id) Integer id) {//feign调用String result orderFeignService.findOrderByUserId(id);return result;}} 3. Spring Cloud Feign的自定义配置及使用 Feign 提供了很多的扩展机制让用户可以更加灵活的使用。 3.1 日志配置 有时候我们遇到 Bug比如接口调用失败、参数没收到等问题或者想看看调用性能就需要 配置 Feign 的日志了以此让 Feign 把请求信息输出来。 1定义一个配置类指定日志级别 // 注意 此处配置Configuration注解就会全局生效如果想指定对应微服务生效就不 能配置public class FeignConfig {/*** 日志级别** return*/Beanpublic Logger.Level feignLoggerLevel() { return Logger.Level.FULL; } } 通过源码可以看到日志等级有 4 种分别是         NONE【性能最佳适用于生产】不记录任何日志默认值。         BASIC【适用于生产环境追踪问题】仅记录请求方法、URL、响应状态代码以及 执行时间。         HEADERS记录BASIC级别的基础上记录请求和响应的header。         FULL【比较适用于开发及测试环境定位问题】记录请求和响应的header、body 和元数据。 2) 局部配置让调用的微服务生效在 FeignClient 注解中指定使用的配置类 3) 在yml配置文件中执行 Client 的日志级别才能正常输出日志格式是logging.level.feign接口包路径 debug logging:level:com.yanqx.mall.feigndemo.feign: debug 3.2 契约配置 Spring Cloud 在 Feign 的基础上做了扩展使用 Spring MVC 的注解来完成Feign的功 能。原生的 Feign 是不支持 Spring MVC 注解的如果你想在 Spring Cloud 中使用原生的 注解方式来定义客户端也是可以的通过配置契约来改变这个配置Spring Cloud 中默认的 是 SpringMvcContract。 Spring Cloud 1 早期版本就是用的原生Fegin. 随着netflix的停更替换成了Open feign 1修改契约配置支持Feign原生的注解 /*** 修改契约配置支持Feign原生的注解* return*/Beanpublic Contract feignContract() {return new Contract.Default();} 注意修改契约配置后OrderFeignService 不再支持springmvc的注解需要使用Feign原 生的注解 2OrderFeignService 中配置使用Feign原生的注解 FeignClient(value mall‐order,path /order)public interface OrderFeignService {RequestLine(GET /findOrderByUserId/{userId})public R findOrderByUserId(Param(userId) Integer userId);} 3补充也可以通过yml配置契约 feign:client:config:mall‐order: #对应微服务loggerLevel: FULLcontract: feign.Contract.Default #指定Feign原生注解契约配置 3.3 超时时间配置 通过 Options 可以配置连接超时时间和读取超时时间Options 的第一个参数是连接的超时 时间ms默认值是 2s第二个是请求处理的超时时间ms默认值是 5s。 /*** author yanqx* date 2023/12/4 16:02*/ Configuration public class FeignConfig {Beanpublic Request.Options options() {return new Request.Options(5000, 10000);} } feign:client:config:mall‐order: #对应微服务# 连接超时时间默认2sconnectTimeout: 5000# 请求处理超时时间默认5sreadTimeout: 10000 yml中配置 补充说明 Feign的底层用的是Ribbon但超时时间以Feign配置为准 测试超时情况
http://wiki.neutronadmin.com/news/144153/

相关文章:

  • 滁州建设厅网站傻瓜式网站开发
  • 企业门户网站建设方案后台管理江岸区网站公司
  • 克隆网站后台科技创新小发明
  • 网站的前期推广免费域名注册教程
  • 杭州低价做网站平面设计网上自学
  • 要做网站照片怎么处理全国室内设计学校
  • 拼多多网站开发东莞短视频制作公司
  • 公司网站功能html网页设计小作业代码部分
  • 做网络销售哪些网站比较好购物网站公司要花费多少钱
  • 做网站需要几步公司怎么建设官网
  • 网站建设从入门a家兽装定制网站
  • 人事处网站开发文献综述h5 响应式网站国外
  • 怎样做网站域名注册30秒网站
  • 网站建设的步骤过程视频下载京东商城网上购物
  • 电子商务网站建设资料百度域名排行
  • 网店网站模板广州番禺新楼盘最新房价
  • 做贸易选哪家网站京美建站官网
  • 谷歌云 阿里云 做网站广州建站快车
  • 东莞哪里能学建设网站给个网站最新的2021
  • 网站开发专业培训免费小程序制作平台
  • wordpress网站主机名编辑网站
  • 做网站用虚拟主机怎么样硬件开发平台是什么意思
  • 用python做的网站多吗化妆品公司网站源码
  • 兰州企业网站株洲优化公司
  • 前端网站开发百度网站怎么做信息
  • 建站快车用户登录小程序询价表
  • 织梦网站管理系统做机械设备网站
  • 网站开发的选题审批表仿爱奇艺网站源码
  • 做零食用哪个网站好网站备案跟域名有什么关系
  • 农庄网站模板不要验证码的广告网站