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

长春建设集团网站网站开发与维护工资

长春建设集团网站,网站开发与维护工资,自己开网站能赚钱吗,可以做富集分析的网站在集成 Spring Cloud Gateway 网关的时候#xff0c;会出现没有 basePath 的情况#xff0c;例如定义的 /jeeplus-auth、/jeeplus-system 等微服务前缀导致访问接口404#xff1a; maven依赖#xff1a; swagger2于17年停止维护#xff0c;现在最新的版本为 Swagger3会出现没有 basePath 的情况例如定义的 /jeeplus-auth、/jeeplus-system 等微服务前缀导致访问接口404 maven依赖 swagger2于17年停止维护现在最新的版本为 Swagger3Open Api3 knife4j.version3.0.3/knife4j.version直接访问是找不到url的 如果手动添加前缀是可以的 但是每一个接口都要手动添加前缀太繁琐了也失去了用swagger接口的意义这时候我们需要在 Gateway 网关添加一个 Filter 过滤器 在网关模块添加一个过滤器SwaggerGlobalFilter 过滤器代码 package com.jeeplus.gateway.filter; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import lombok.extern.slf4j.Slf4j; import org.reactivestreams.Publisher; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; import org.springframework.core.io.buffer.DataBuffer; import org.springframework.core.io.buffer.DataBufferUtils; import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.server.reactive.ServerHttpRequest; import org.springframework.http.server.reactive.ServerHttpResponse; import org.springframework.http.server.reactive.ServerHttpResponseDecorator; import org.springframework.stereotype.Component; import org.springframework.web.server.ServerWebExchange; import reactor.core.publisher.Flux; import reactor.core.publisher.Mono;import java.nio.charset.Charset; import java.util.ArrayList; import java.util.List;/*** swagger v3/api-docs缺失basePath 过滤器** Author 955* Date 2022-09-22 11:31* Description*/ Slf4j Component public class SwaggerGlobalFilter implements GlobalFilter, Ordered{public MonoVoid filter(ServerWebExchange exchange, GatewayFilterChain chain) {ServerHttpRequest request exchange.getRequest();String path request.getPath().toString();String host request.getLocalAddress().getHostString();int port request.getLocalAddress().getPort();if (!path.endsWith(/v3/api-docs)) {return chain.filter(exchange);}String[] pathArray path.split(/);System.out.println(pathArray);String basePath pathArray[1];ServerHttpResponse originalResponse exchange.getResponse();// 定义新的消息头ServerHttpResponseDecorator decoratedResponse new ServerHttpResponseDecorator(originalResponse) {Overridepublic MonoVoid writeWith(Publisher? extends DataBuffer body) {if (super.getStatusCode().equals(HttpStatus.OK) body instanceof Flux) {Flux? extends DataBuffer fluxBody Flux.from(body);return super.writeWith(fluxBody.buffer().map(dataBuffers - {ListString list new ArrayList();dataBuffers.forEach(dataBuffer - {byte[] content new byte[dataBuffer.readableByteCount()];dataBuffer.read(content);DataBufferUtils.release(dataBuffer);list.add(new String(content, Charset.forName(UTF-8)));});String s this.listToString(list);JSONObject jsonObject JSON.parseObject(s);jsonObject.put(host, host : port);jsonObject.put(basePath, basePath);s jsonObject.toString();// 设置更新后的header请求头长度int length s.getBytes().length;HttpHeaders headers originalResponse.getHeaders();headers.setContentLength(length);return bufferFactory().wrap(s.getBytes(Charset.forName(UTF-8)));}));}return super.writeWith(body);}Overridepublic HttpHeaders getHeaders() {// 获取父类原始ServerHttpResponse的header请求头信息这是代理Delegate类型HttpHeaders httpHeaders super.getHeaders();httpHeaders.set(HttpHeaders.CONTENT_TYPE, application/json;charsetUTF-8);return httpHeaders;}private String listToString(ListString list) {StringBuilder stringBuilder new StringBuilder();for (String s : list) {stringBuilder.append(s);}return stringBuilder.toString();}};// replace response with decoratorreturn chain.filter(exchange.mutate().response(decoratedResponse).build());}Overridepublic int getOrder() {return -2;}} 重启再次查看发现已经正常了。 测试一下接口
http://www.w-s-a.com/news/177407/

相关文章:

  • 做网站的中文名字汕尾网站开发
  • 网站推广效果推广网站推荐
  • 腾讯企业网站建设网络推广比较经典和常用的方法有
  • 四川成都网站网页设计上海外贸网站制作公司
  • wordpress模板首页图片锦州网站做优化
  • 哔哩哔哩网站建设分析有哪些做网站好的公司
  • 福建建设执业中心网站沧州网络推广外包公司
  • 做网站怎么改关键词营销网站建设818gx
  • 广撒网网站怎么进行网络营销
  • 中职计算机网站建设教学计划电商网站如何避免客户信息泄露
  • 惠州微网站建设外贸进出口代理公司
  • 网站建设最常见的问题建设银行网站机构
  • 网站集群建设相关的招标南通seo网站建设费用
  • 网络培训的网站建设能够做二维码网站
  • 网站类游戏网站开发wordpress 文章首标点
  • 徐州网站建设熊掌号免费推广网站入口2020
  • 网站建设有前途长春高铁站
  • 做网站网课阿里云域名查询系统
  • saas建站平台有哪些简述网站建设基本流程答案
  • 个人怎么做网站网站浏览思路
  • 网站建设里的知识长沙网络营销公司
  • 网站建设与维护大作业pc网站转换成微网站
  • php网站开发经典教材东莞网站开发
  • 教育培训手机网站模板下载跨境电商培训哪家最好
  • 网站开发淄博网站被降权会发生什么影响吗
  • 网站开发常用的语言东城手机网站制作
  • 微小店网站建设平台手机优化加速有什么用
  • 沈阳酒店企业网站制作公司竞价网站怎么做seo
  • 中山企业网站多少钱学网站建设的好处
  • 做官网网站哪家公司好jianux wordpress