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

各类网站规划小程序开发外包该注意些什么

各类网站规划,小程序开发外包该注意些什么,换网站后台,谷歌排名推广1、项目中接口的调用方式 1.1 HttpClient HttpClient 是 Apache Jakarta Common 下的子项目#xff0c;用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包#xff0c;并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带的 URLConnectio…1、项目中接口的调用方式 1.1 HttpClient HttpClient 是 Apache Jakarta Common 下的子项目用来提供高效的、最新的、功能丰富的支持 Http 协议的客户端编程工具包并且它支持 HTTP 协议最新版本和建议。HttpClient 相比传统 JDK 自带的 URLConnection提升了易用性和灵活性使客户端发送 HTTP 请求变得容易提高了开发的效率。 1.2 OkHttp 一个处理网络请求的开源项目是安卓端最火的轻量级框架由 Square 公司贡献用于替代 HttpUrlConnection 和 Apache HttpClient。OkHttp 拥有简洁的 API、高效的性能并支持多种协议HTTP/2 和 SPDY。 1.3 HttpURLConnection HttpURLConnection 是 Java 的标准类它继承自 URLConnection可用于向指定网站发送 GET 请求、POST 请求。HttpURLConnection 使用比较复杂不像 HttpClient 那样容易使用。 1.4 RestTemplate RestTemplate 是 Spring 提供的用于访问 Rest 服务的客户端RestTemplate 提供了多种便捷访问远程 HTTP 服务的方法能够大大提高客户端的编写效率。 1.5 WebClient WebClient 是 Spring WebFlux 模块提供的一个非阻塞的基于响应式编程的进行 Http 请求的客户端工具。WebFlux 对标 SpringMvcWebClient 相当于 RestTemplate同时也是 Spring 官方的 Http 请求工具。与RestTemplate相比WebClient的优势 非阻塞响应式IO单位时间内有限资源下支持更高的并发量。支持使用Java8 Lambda表达式函数。支持同步、异步、Stream流式传输。 以上是最常见的几种调用接口的方式下面介绍比上面更简单方便的方式---- Feign 2、什么是Feign Feign是Netflix开发的声明式、模板化的HTTP客户端其灵感来自Retrofit、JAXRS-2.0以及WebSocket。Feign可帮助我们更加便捷、优雅地调用HTTP API。Feign支持多种注解例如Feign自带的注解或者JAX-RS注解等。 2.1 Feign的优势 Feign可以做到使用 HTTP 请求远程服务时就像调用本地方法一样的体验开发者完全感知不到这是远程方法更感知不到这是个 HTTP 请求。它像 Dubbo 一样consumer 直接调用接口方法调用 provider而不需要通过常规的 Http Client 构造请求再解析返回数据。它解决了让开发者调用远程接口就跟调用本地方法一样无需关注与远程的交互细节更无需关注分布式环境开发。 3、快速整合OpenFeign 3.1 导入依赖 !--OpenFeign 远程调用--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId/dependency3.2 编写调用接口 FeignClient指定远程调用的服务和方法/*** name指定调用的Rest接口的服务名* path指定调用的Rest接口的请求路径即StockController指定的RequestMapping中的路径* configuration指定配置类*/ FeignClient(name StockService,path /stock/stockapi,configuration FeignConfig.class) public interface StockFeignService {//声明需要调用的Rest接口对应的方法RequestMapping(/handle)String getStock();}3.3 在启动类中开启远程调用的功能 EnableFeignClients开启远程调用SpringBootApplication EnableFeignClients //这里设置要为哪个服务提供方选用指定的负载均衡的规则 RibbonClients(value {RibbonClient(name StockService, configuration RibbonConfig.class) }) public class OrderServiceApplication {public static void main(String[] args) {SpringApplication.run(OrderServiceApplication.class, args);} }3.4 发起调用 像调用本地方法一样调用远程服务RestController RequestMapping(/orderapi) public class OrderController {Autowiredprivate StockFeignService stockFeignService;RequestMapping(/add)public String addOrder(){System.out.println(OpenFeign方式调用下单成功);String stock stockFeignService.getStock();return 下单成功 stock;} }4、Feign的自定义配置和使用 Feign 提供了很多的扩展机制让用户可以更加灵活的使用。 4.1 日志配置 有时候我们遇到 Bug比如接口调用失败、参数没收到等问题或者想看看调用性能就需要配置 Feign 的日志了以此让 Feign 把请求信息输出来。Feign的日志级别 NONE【性能最佳适用于生产】不记录任何日志默认值。BASIC【适用于生产环境追踪问题】仅记录请求方法、URL、响应状态代码以及执行时间。HEADERS记录BASIC级别的基础上记录请求和响应的header。FULL【比较适用于开发及测试环境定位问题】记录请求和响应的header、body和元数据。 4.1.1 通过配置类的方式进行配置 编写配置类/*** 全局配置如果使用了Configuration注解,将会对所有的服务提供方都执行该配置* 局部配置* 1、如果想针对某一个服务进行配置就不要加Configuration注解* 2、通过配置文件进行配置*/Configuration public class FeignConfig {/*** 设置feign的日志级别* return*/Beanpublic Logger.Level feignLoggerLevel(){return Logger.Level.BASIC;}}让调用的服务使用指定的Feign配置 修改yml配置文件中默认是info的日志级别因为feign的日志级别是debug。# SpringBoot默认的日志级别是info,feign的日志级别是debug logging:level:root: infocom.example.order.feign: debug # 设置feign服务所在包下的日志级别4.1.2 在配置文件中进行配置 对应属性配置类 org.springframework.cloud.openfeign.FeignClientProperties.FeignClientConfiguration# Feign日志局部配置 feign:client:config:StockService: # 对应的服务名称loggerLevel: FULL # 设置日志级别4.2 超时配置 配置类 Configuration public class FeignConfig {/*** 设置feign请求超时时间* return*/Beanpublic Request.Options options(){return new Request.Options(5000, 5000);}配置文件 feign:client:config:StockService: # 对应的服务名称loggerLevel: FULL # 设置日志级别connect-timeout: 5000 # 设置连接超时时间 默认20002秒read-timeout: 3000 # 设置读取超时时间 默认5秒4.3 自定义拦截器 自定义拦截器实现认证逻辑只有请求拦截没有响应拦截 public class FeignInterceptor implements RequestInterceptor {Logger logger LoggerFactory.getLogger(FeignInterceptor.class);Overridepublic void apply(RequestTemplate requestTemplate) {requestTemplate.header(token,123456789);requestTemplate.query(id,111);logger.info(feign拦截器);} }在配置类中进行配置 Configuration public class FeignConfig {/*** 自定义拦截器* return*/Beanpublic FeignInterceptor feignInterceptor(){return new FeignInterceptor();}在配置文件中进行配置 feign:client:config:StockService: # 对应的服务名称requestInterceptors[0]: #拦截器配置com.example.order.interceptor.FeignInterceptor
http://www.pierceye.com/news/289294/

相关文章:

  • 苏州园区建设网站首页娱乐新闻做的好的网站
  • 江苏省建设集团有限公司网站做网站的软件dw下载
  • 做网站需要学些什么软件杭州学校网站建设
  • 建设银行网上银行网站可以开通网银wordpress 种子插件
  • 一般网站图标是用什么做的网件路由器无线中继
  • 手机 网站 开发淘宝店铺网站策划书
  • 网站建设规划方案书滨州网站建设 中企动力
  • 网站建设品牌推荐做网站必须要公网ip
  • 做网站卖东西赚钱wordpress微信网站
  • 商丘网站建设有限公司店面设计费用
  • 张店学校网站建设公司合肥有哪些seo网络公司
  • 做博客网站的空间容量需要多少北京简盟产品设计有限公司
  • 哪些网站怎么进定制开发平台
  • 【郑州网站建设】wordpress自定义后台单页模板
  • 铭誉摄影网站北京网站建设开发
  • 单位还能建设网站吗做网站的程序员留备份
  • 松江团购做网站产品开发的基本流程
  • 织梦后台网站栏目空白小广告制作
  • 钦州建设局网站云南网站建设招商
  • 韩国风格网站php源码网站怎么放到服务器上
  • 网站调优yandex搜索引擎入口
  • 医院网站建设具体内容商丘网站制作电话
  • 别人做的网站直播网站
  • 足球梦网站建设的基本思路沧州做企业网站
  • 招标建设网站什么是微信wordpress
  • 建设银行网站连不上成都网站快照优化公司
  • 网站 永久关停 请示广州网站建设骏域网站
  • 个人建站模板外国网站翻墙怎么做
  • 保定网站设计制作公司有经验的中山网站建设
  • 免费网站建设那个好wordpress本地怎么上传服务器