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

公司建设门户网站的总结推广软件赚钱违法吗

公司建设门户网站的总结,推广软件赚钱违法吗,企业网站建设测试题,盐城专业做网站的公司一、概述OpenFeign是springcloud在Feign的基础上支持了SpringMVC的注解,整合了hystrix,同时,可以和Eureka和ribbon配合使用,如RequestMapping等等。OpenFeign的FeignClient可以解析SpringMVC的RequestMapping注解下的接口&#xf…

一、概述

OpenFeign是springcloud在Feign的基础上支持了SpringMVC的注解,整合了hystrix,同时,可以和Eureka和ribbon配合使用,如@RequestMapping等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

官网:Spring Cloud OpenFeign

OpenFegin中的两个常用注解

@FeignClient: 用于通知Feign组件对该接口进行代理(不需要编写接口实现),使用者可直接通过@Autowired注入。

@EnableFeignClients:

Spring Cloud应用在启动时,Feign会扫描标有@FeignClient注解的接口,生成代理,并注册到Spring容器中。

二、Feign和openFeign有什么区别?

Feign

openFiegn

Feign是SpringCloud组件中一个轻量级RESTful的HTTP服务客户端,Feign内置了Ribbon,用来做客户端负载均衡,去调用服务注册中心的服务。Feign的使用方式是:使用Feign的注解定义接口,调用这个接口,就可以调用服务注册中心的服务

OpenFeign是SpringCloud在Feign的基础上支持了SpringMVC的注解,如@RequestMapping等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务。

三、代码实现:

1、POM文件引入依赖:

<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId>
</dependency>

2、添加注解@EnableFeignClients开启openFeign功能

@SpringBootApplication
@EnableFeignClients
public class Application {public static void main(String[] args) {SpringApplication.run(Application.class, args);}}

3、 新建openFeign接口

新建一个openFeign接口,使用@FeignClient注解标注,如下

@FeignClient("stores")
public interface StoreClient {@RequestMapping(method = RequestMethod.GET, value = "/stores")List<Store> getStores();@RequestMapping(method = RequestMethod.GET, value = "/stores")Page<Store> getStores(Pageable pageable);@RequestMapping(method = RequestMethod.POST, value = "/stores/{storeId}", consumes = "application/json")Store update(@PathVariable("storeId") Long storeId, Store store);@RequestMapping(method = RequestMethod.DELETE, value = "/stores/{storeId:\\d+}")void delete(@PathVariable Long storeId);
}

3、openFeign如何传参

1. 传递JSON数据

如果是 POST 请求,而且是对象集合等参数,在Spring Boot 中通过@RequestBody标识入参

@PostMapping("createOrder")
public String createOrder(@RequestBody Order order ){System.out.println(order);return "ok";
} 

2. POJO表单传参

Spring Cloud OpenFeign 提供了一个等效的注释,它 用于将 POJO 或 Map 参数注释为查询参数映射。@SpringQueryMap

Order createOrder(@SpringQueryMap Order order);

下图是官方给出的实例

// Params.java
public class Params {private String param1;private String param2;// [Getters and setters omitted for brevity]
}

以下假装客户端通过注释使用该类:Params@SpringQueryMap

@FeignClient("demo")
public interface DemoTemplate {@GetMapping(path = "/demo")String demoEndpoint(@SpringQueryMap Params params);
}

编辑3.URL中携带参数

通过 URL 传参数,GET 请求,参数列表使用@PathVariable(“”)

服务提供者代码如下:

@RestController
@RequestMapping("/openfeign/orderprovider")
public class OpenFeignOrderProviderController {@GetMapping("/getOrder/{id}")public String getOrder(@PathVariable("id")Integer id){return "accept one msg id="+id;
}

consumer消费者openFeign接口如下:

@FeignClient(value = "openFeign-orderprovider")
public interface OpenFeignService {@GetMapping("/openfeign/orderprovider/getOrder/{id}")String getOrder(@PathVariable("id")Integer id);
}

4、超时如何处理

ReadTimeout: 值的是建立链接所用的时间,适用于网络状况正常的情况下, 两端链接所用的时间

ConectTimeout: 指的是建立链接后从服务器读取可用资源所用的时间

openFeign设置超时时间非常简单,只需要在配置文件中配置,如下:

feign:client:config:## default 设置的全局超时时间,指定服务名称可以设置单个服务的超时时间default:connectTimeout: 1000readTimeout: 1000

5、Feign logging

为每个创建的 Feign 客户端创建一个记录器。默认情况下,记录器的名称是用于创建 Feign 客户端的接口的完整类名。日志记录仅响应级别:DEBUG。

openFeign的日志级别如下:

NONE:默认的,不显示任何日志;

BASIC:仅记录请求方法、URL、响应状态码及执行时间;

HEADERS:除了BASIC中定义的信息之外,还有请求和响应的头信息;

FULL:除了HEADERS中定义的信息之外,还有请求和响应的正文及元数据。

配置方式:

1. 配置文件application.yml:

logging.level.project.user.UserClient: DEBUG

2.自定义一个配置类,在其中设置日志级别

@Configuration
public class FooConfiguration {@BeanLogger.Level feignLoggerLevel() {return Logger.Level.FULL;}
}

6、对@RefreshScope支持

如果启用了 Feign 客户端刷新,则使用以下命令创建每个 Feign 客户端:

  • feign.Request.Options作为刷新范围的 Bean。这意味着像connectTimeout and readTimeout 等属性可以针对任何 Feign 客户端实例刷新。

  • 在 下换行的网址org.springframework.cloud.openfeign.RefreshableUrl。这意味着 Feign 客户端的 URL(如果已定义)spring.cloud.openfeign.client.config.{feignName}.url 属性,可以针对任何 Feign 客户端实例刷新。

可以通过 刷新这些属性。POST /actuator/refresh

默认情况下,Feign 客户端中的刷新行为处于禁用状态。使用以下属性启用刷新行为:

spring.cloud.openfeign.client.refresh-enabled=true

7、假请求/响应压缩

您可以考虑为您的启用请求或响应 GZIP 压缩 佯装请求。您可以通过启用以下属性之一来执行此操作:

spring.cloud.openfeign.compression.request.enabled=true
spring.cloud.openfeign.compression.response.enabled=true

假请求压缩为您提供的设置类似于您可能为 Web 服务器设置的设置:

spring.cloud.openfeign.compression.request.enabled=true
spring.cloud.openfeign.compression.request.mime-types=text/xml,application/xml,application/json
spring.cloud.openfeign.compression.request.min-request-size=2048

这些属性允许您选择压缩媒体类型和最小请求阈值长度。

http://www.mmbaike.com/news/23628.html

相关文章:

  • 网站建设流程有哪些快速排名seo软件
  • 淘宝代做网站小红书seo
  • p2p视频网站建设信息流优化师简历模板
  • 网站设计美工排版编辑网站建设方案内容
  • 网站建设 h5seo百度百科
  • 手机网站建设中心成都爱站网seo站长查询工具
  • 网络彩票网站开发百度搜索引擎网站
  • 郑州hi宝贝网站建设公司链接提交入口
  • 用b s做网站上海知名seo公司
  • 做购物网站骗人市场推广外包团队
  • 爱站网 关键词挖掘工具站长工具微信营销模式有哪些
  • wordpress插件合集seo效果分析
  • 建站城seo专业技术培训
  • 上海网站建设方法大数据下的精准营销
  • 莱芜网站优化招聘网三门峡网站seo
  • 仿织梦小说网站源码天眼查询个人
  • 科技加盟网站建设站长之家怎么找网址
  • 做的网站被挂马百度地图导航网页版
  • wordpress square主题seo营销是什么
  • 百度上面如何做网站b2b平台有哪些平台
  • 网站建设及推广好学习吗推广关键词怎么设置
  • 加盟凡科建站抚州网络推广
  • 名校建设网站长沙seo外包服务
  • 建立网站功能企业微信会话存档
  • 好的专题网站百度竞价渠道代理
  • 陕西专业网站建设哪家好韶山seo快速排名
  • phpmysql旅游网站开发注册公司网站
  • 如何做微信官方网站怎样写营销策划方案
  • wordpress .mo .po北京网站快速排名优化
  • 制作网站如何选择主机中国最新消息新闻