当前位置: 首页 > 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.zqtcl.cn/news/174016/

相关文章:

  • 宁波产品网站设计模板网站建设需要通过哪些审批
  • 了解网站建设管理网站开发的可行性研究报告
  • 淄博网站设计策划方案公司中文域名.网站
  • 综合网站系统电脑怎么做软件开发
  • 网站虚拟主持人制作国内网站建设排名
  • 上海房地产网站建设报价wordpress.备份
  • 网站建设运营维护合同专用车网站建设价格
  • 建设部咨询资质网站平台类网站建设公司
  • wap 网站 源码网站建立
  • 辽阳专业建设网站公司山东省工程建设招标信息网站
  • 下载专门做初中数学题的网站佛山网站制作在线
  • 永康物流网站蒙牛企业网站建设规划书
  • 网站开发发和后台开发有什么区别马鞍山网站建设价格
  • 广州建设银行预约公积金网站怎么下载ppt免费模板
  • 网站策划的基本过程网站设置在哪
  • 内蒙古住房和城乡建设网站网站建设需要购买什么
  • 网站做调查问卷给钱的兼职南通营销网站制作
  • 开个微网站需要什么自己制作网页的步骤
  • 有专业做线切割配件的网站吗中国婚恋网站排名
  • 做ppt网站大全中国工程建设信息网站
  • 汉滨区住房和城乡建设局网站淘宝客购物网站的怎么做
  • 一个网站用多个域名分页网站
  • 门户网站举例phpstuy wordpress
  • 做网站许昌美业管理软件系统排名
  • 温州市建设工程质量安全管理总站贵阳最新消息今天
  • 成都服装网站建设工作是否能给我们带来快乐
  • 电商网站建设综述长沙高端网站建设
  • 网站建设有哪些环节怎么申请网址
  • 做网站要什么软件经典网站首页
  • 个人网站备案转公司备案长沙网站seo报价