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

网站开发公司简介怎么写网站和网络有什么区别

网站开发公司简介怎么写,网站和网络有什么区别,西安有什么旅游景点,国内十大少儿编程品牌openfeign(*) 简介 官网#xff1a;https://cloud.spring.io/spring-cloud-openfeign/reference/html/Feign是一个声明式的伪HTTP客户端(底层使用RestTemplate)#xff0c;它使编写web服务客户端变得更容易。使用feign#xff0c;只需要创建一个接口并对其添加注解。它具有…openfeign(*) 简介 官网https://cloud.spring.io/spring-cloud-openfeign/reference/html/Feign是一个声明式的伪HTTP客户端(底层使用RestTemplate)它使编写web服务客户端变得更容易。使用feign只需要创建一个接口并对其添加注解。它具有可插入的注释支持(可以使用springmvc的注解)可使用feign注解和JAX-RS注解。Feign还支持可插拔编码器和解码器。feign默认集成了Ribbon默认实现了负载均衡的效果并且spring cloud为feign添加了springmvc注解的支持 OpenFeign调用 1.引入依赖 !-- OpenFeign 依赖-- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-openfeign/artifactId /dependency!-- 项目集成其他依赖 -- !-- web -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId /dependency !-- 健康检查 -- dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-actuator/artifactId /dependency !-- consul服务注册与发现 -- dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-consul-discovery/artifactId /dependency2.配置文件 server.port8787 spring.application.nameCATEGORY # consul注册中心地址 spring.cloud.consul.hostlocalhost spring.cloud.consul.port85003.启动类添加注解EnableFeignClients SpringBootApplication EnableDiscoveryClient EnableFeignClients public class CategoryApplication {}4.编写feign客户端接口,添加注解FeignClient FeignClient(value PRODUCT) // value:服务名 Api(商品客户端接口定义) public interface ProductClient {ApiOperation(简单实现OpenFeign通信)GetMapping(/product)String product();ApiOperation(使用拼接参数?kvk1v2方式传参。需指定RequestParam和属性value)GetMapping(/test)String test(RequestParam(value id) Integer id, RequestParam(value productName) String productName);ApiOperation(使用路劲url/{id}/{productName}传参。需指定PathVariable和属性value)GetMapping(/test1/{id}/{productName})String test1(PathVariable(value id) Integer id, PathVariable(value productName) String productName);ApiOperation(使用对象传递,用JSON方式)PostMapping(/test2)String test2(RequestBody ProductDto productDto); }5.Category服务和Product服务进行feign调用测试 RestController Slf4j public class CategoryController {Autowiredprivate ProductClient productClient;GetMapping(/category)public String category() {log.info(category enter......);// 使用OpenFeign完成服务间的调用//String result productClient.product();// 使用拼接参数?kvk1v2方式传参//String result productClient.test(12, 裙子);// 使用路劲/{id}/{productName}传参//String result productClient.test1(12, 裙子);// 使用对象传递,用JSON方式//String result productClient.test2(new ProductDto(12, 裙子, 37.80, new Date()));// 使用数组传参。了解即可//String result productClient.test3(new Integer[]{1, 2, 3});// 使用集合传参。服务费需要集合定义到对象中(不能直接使用集合形参)。了解即可String result productClient.test4(new Integer[]{1, 2, 3});return category ok!! result;} }RestController Slf4j Api(商品服务) public class ProductController {Value(${server.port})private int port;ApiOperation(简单实现OpenFeign通信)GetMapping(/product)public String product() {log.info(product enter......);return product ok,当前端口号 port;}ApiOperation(使用拼接参数?kvk1v2方式传参)GetMapping(/test)public String test(RequestParam Integer id, RequestParam String productName) {log.info(test enter....id{},productName{}, id, productName);return product ok,当前端口号 port;}ApiOperation(使用路劲url/{id}/{productName}传参)GetMapping(/test1/{id}/{productName})public String test1(PathVariable Integer id, PathVariable String productName) {log.info(test1 enter....id{},productName{}, id, productName);return product ok,当前端口号 port;}ApiOperation(使用对象传递,用JSON方式)PostMapping(/test2)public String test2(RequestBody ProductDto productDto) {log.info(test enter....productDto{}, productDto);return product ok,当前端口号 port;}ApiOperation(使用数组传参。了解即可)GetMapping(/test3)public String test3(Integer[] ids) {for (Integer id : ids) {log.info(id:{},id);}return product ok,当前端口号 port;}ApiOperation(通过集合传参,不能直接使用List等集合接收,需要用对象定义。了解即可)GetMapping(/test4)public String test4(ProductIdsDTO productIdsDTO) {productIdsDTO.getIds().forEach(id - log.info(id:{}, id));return product ok,当前端口号 port;} }6.feign接口传参 需要指定传参格式OpenFeign是一个伪的HTTP客户端底层用的RestTemplate所以需要在feign接口中告诉它如何去传参否则会报错1.通过?拼接传参。例如url/?kvk1k2GetMapping(/test)String test(RequestParam(value id) Integer id, RequestParam(value productName) String productName); 备注需要指定RequestParam注解和value属性值2.通过路径传参。例如url/{id}/{productName}GetMapping(/test1/{id}/{productName})String test1(PathVariable(value id) Integer id, PathVariable(value productName) String productName); 备注需要指定PathVariable注解和value属性值3.通过对象传参推荐使用JSON格式PostMapping(/test2)String test2(RequestBody ProductDto productDto); 备注需要指定RequestBody注解4.使用数组传参和集合传参了解即可数组传参feign接口定义GetMapping(/test3)String test3(RequestParam Integer[] ids);备注必须指定RequestParam注解使用集合传参跟数组传参定义一致。但服务方形参接收定义不一样详情见5.feign接口测试示例OpenFeign接口调用超时设置 OpenFeign接口调用超时时间默认为1秒当服务方执行时间超过1秒时会报错 There was an unexpected error (typeInternal Server Error, status500). Read timed out executing GET http://PRODUCT/product修改OpenFeign默认超时时间配置 # 修改某个服务(PRODUCT)的OpenFeign默认超时时间(默认为1秒) # PRODUCT:服务名。指定服务连接超时单位毫秒 feign.client.config.PRODUCT.connect-timeout3000 # PRODUCT:服务名。指定服务等待超时单位毫秒 feign.client.config.PRODUCT.read-timeout3000# 修改所有服务的OpenFeifn默认超时时间(默认为1秒) #feign.client.config.default.connect-timeout3000 #feign.client.config.default.read-timeout3000OpenFeign调用日志 OpenFeign日志级别 - feign对日志的处理非常灵活,可以为每个feign客户端指定日志记录策略,feign日志的打印只会DEBUG级别做出响应- 可以为feign客户端配置各自的logger.level对象日志级别有如下几种- NONE不记录任何日志(默认)- BASIC仅记录请求方法url,响应状态码及执行时间- HEADERS记录BASIC级别的基础上记录请求和响应的header- FULL记录请求和响应的headerbody及元数据开启日志打印 # 开启某个feign客户端(PRODUCT)的日志打印 # feign.client.config.PRODUCT.logger-levelfull # 开启所有的feign客户端的日志打印 feign.client.config.default.logger-levelfull# 指定包路径日志打印级别(指定feign客户端的包日志级别必须是debug) logging.level.com.coolw.cloud.study.feigndebug日志信息如 22-01-12 22:51:04.139 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] --- GET http://PRODUCT/product HTTP/1.1 2022-01-12 22:51:04.139 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] --- END HTTP (0-byte body)......2022-01-12 22:51:05.410 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] --- HTTP/1.1 200 (1267ms) 2022-01-12 22:51:05.410 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] connection: keep-alive 2022-01-12 22:51:05.410 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] content-length: 33 2022-01-12 22:51:05.410 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] content-type: text/plain;charsetUTF-8 2022-01-12 22:51:05.411 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] date: Wed, 12 Jan 2022 14:51:05 GMT 2022-01-12 22:51:05.411 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] keep-alive: timeout60 2022-01-12 22:51:05.411 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] 2022-01-12 22:51:05.413 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] product ok,当前端口号8788 2022-01-12 22:51:05.413 DEBUG 8324 --- [nio-8787-exec-1] c.coolw.cloud.study.feign.ProductClient : [ProductClient#product] --- END HTTP (33-byte body)
http://www.pierceye.com/news/174016/

相关文章:

  • WordPress站群更新wordpress 图片命名吗
  • 网站建设最好的公司哪家好网站模板下载软件
  • 运输公司网站模板网站建设及使用
  • 哈尔滨cms模板建站网站建设天地心
  • 廊坊代运营公司广东网站se0优化公司
  • 西双版纳建设厅网站宁夏建网站报价
  • 网站优化分析软件手机端网站源码
  • 我想克隆个网站 怎么做网站 运营工作如何做
  • 承德网站制作公司哪家好如何选择邯郸网站建设
  • 网络分析的应用案例广东网络seo推广平台
  • 网站开发设计合同北京网站排名优化公司
  • 免费建立个人网站凡科怎么下载app
  • 网站题头是什么做线上网站需要钱吗
  • 陕西省建设工程监理协会网站 查询动易网站首页错位
  • 老公做网站网站推广wordpress 文件加载顺序
  • 网站开发保存学习进度的方案搭建网站免费
  • 做网站对外贸有什么用网站怎么防k
  • 网站开发网站建设常州建站程序
  • 赤峰建设局网站物流公司网站制作模板
  • 装修第三方平台网站建设网站开发及设计
  • 男女做那个的小视频网站个人如何注册公司流程
  • 机关网站建设前期准备工作wordpress替代
  • 机关网站建设无锡宜兴网站建设
  • 江苏景禾瑜博建设工程有限公司网站做网站注册公司
  • 如何找到做网站的客户贵州二建报名入口官网
  • 网站怎么做301定向wordpress极客式主题
  • 造价工程建设协会网站怎么把做的网站发布
  • 万网网站首页好企业网站
  • 廊坊做网站电话企业网络搭建拓扑图
  • 建设社区网站有什么借鉴之处专业网站制作哪家专业