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

环境网站模板网站建成之后应该怎么做

环境网站模板,网站建成之后应该怎么做,营销网站制作哪家有名,描述网站的含义需求:公司产品一直是nodejs的后台,采用的eggjs框架,也不是最新版本,现有有需求需求将这些应用集成到微服务的注册中心,领导要求用java。 思路:用spring cloud gateway将需要暴露的接口url转发,…

需求:公司产品一直是nodejs的后台,采用的eggjs框架,也不是最新版本,现有有需求需求将这些应用集成到微服务的注册中心,领导要求用java。

思路:用spring cloud gateway将需要暴露的接口url转发,并将这个gateway注册到注册中心

方案:

1、转发原有nodejs的后台服务

用Springboot建立一个gateway项目,引入gateway

        <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId><version>3.1.2</version></dependency>

配置文件

server:port: 9984 #此模块的PORTservlet:encoding:force: truecharset: UTF-8enabled: truetomcat:uri-encoding: UTF-8spring:application:name: gatewaycloud:nacos:discovery:server-addr: localhost:8848 #注册到nacosservice=test-provider: gatewaygateway:discovery:locator:enabled: true #开启从注册中心动态创建路由的功能,利用微服务名进行路由routes:- id: gateway1 #路由的ID,没有固定规则但要求唯一,建议配合服务名uri: http://IP:PORT #匹配nodejs的服务IP及端口号predicates:- Path=/你的需要暴露的服务的根路径/** # 断言,路径相匹配的进行路由
app文件
@SpringBootApplication
@EnableDiscoveryClient // cloud 需要 注册中心==发现
public class App {public static void main(String[] args) {SpringApplication.run(App.class, args);}
}

启动后在nacos中,可以看到此项,这时可以测试9984端口已经转发了原有nodejs的服务

2、消费者

需要引入loadblancer否则报错

    <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-loadbalancer</artifactId><version>3.1.1</version></dependency>

(1)RestTemplate进行服务请求

新建一个MyConfiguration类对RestTemplate进行配置

package org.example;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate;@Configuration
public class MyConfiguration {@LoadBalanced@Beanpublic RestTemplate restTemplate(){return new RestTemplate();}
}

在使用的类进行初始化

private final RestTemplate restTemplate;@Autowiredpublic ConsumerController(RestTemplate restTemplate) {this.restTemplate = restTemplate;}

使用

String url = "http://nacos中模块名称/...";HttpHeaders headers = new HttpHeaders();headers.setContentType(MediaType.APPLICATION_JSON);HttpEntity<String> request = new HttpEntity<>(pars.toJSONString(), headers);//请求String result = restTemplate.postForObject(url, request, String.class);//System.out.println(result);

这种模式可以很好的调用springboot 自己发布的URL,但是不知道为什么请求对nodejs的服务返回的为乱码,所有的都乱码不只是中文乱码。

分析认为是GZIP的原因,nodejs的服务打开了GZIP,所以这里需要处理。可以用以下进行GZIP处理,完美结局

ResponseEntity<byte[]> responseEntity = restTemplate.postForEntity(url, request, byte[].class);GZIPInputStream fi = new GZIPInputStream(new ByteArrayInputStream(responseEntity.getBody()));BufferedReader reader = new BufferedReader(new InputStreamReader(fi));StringWriter writer = new StringWriter();String line = "";while ((line = reader.readLine()) != null) {writer.write(line);}result = writer.toString();

(2)FeignClient,此种方法更加优雅

引用

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

接口

package org.example;import com.alibaba.fastjson.JSONObject;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;/*** @author * * @date 2024/12/8*/
@FeignClient("gateway")//这里写nacos中服务名称
public interface ProviderFeignClient {//这里是post请求,json格式参数的例子@PostMapping("/.....")//这里写具体的路径String tblcodefactoryv6_GetList(@RequestBody JSONObject pars);}

使用时就很简单了

//初始化@AutowiredProviderFeignClient providerFeignClient;//方法中这样用就好了,简洁result = providerFeignClient.tblcodefactoryv6_GetList(pars);

以上就是使用gateway将nodejs的服务加入到nacos注册中心作为微服务的过程。

http://www.yayakq.cn/news/983242/

相关文章:

  • owasp+网站开发湖北潜江信息网
  • 长沙网站运营外包公司四模网站
  • 设计某网站的登录和注册程序网站页面格式
  • 淘宝客网站还可以做吗网站 运营工作如何做
  • 怎样做网站外链建筑智库免费网站
  • 普陀大型网站建设php网站开发预算文档
  • 深圳高端网站建设电话英文seo外链
  • 外贸网站如何做推广电话广州软件定制公司
  • 番禺建设网站多少钱网站怎样免费推广
  • 网站如果不备案吗网站开发电商项目的成本管理怎么写
  • 网站主页设计布局温州市建设工程管理网站
  • 深圳华强北做网站佛山怎么做网站
  • dw旅游网站模板下载技术支持 淄博网站建设
  • 云顶科技做网站的柳州电商网站建设
  • 全网营销推广网站建设wordpress getposts
  • 网站建设项目分析报告凡客诚品网站特点
  • 长沙网站建设费用亅新厦建设集团网站
  • 站长工具seo综合查询权重大型网页游戏开发
  • 网站设计公司产品介绍网络运行管理系统
  • 网络营销型网站设计超市营销型网站建设策划书
  • 网站建设的数据导入导出家政服务 技术支持 东莞网站建设
  • 做毕业设计网站教程青岛网红打卡景点
  • 国外网站建设模板长沙关键词优化新报价
  • 简述网站设计规划的步骤北京网站备案域名
  • 前端个人网站怎么做镇江积分优化
  • 可以做商城网站的公司吗一手货源一件代发平台
  • 服务器上怎么做网站怎么做网站标题优化
  • 南京网站建设流程iis6.0做网站压缩
  • 成品网站1688网页wordpress插件制作教程
  • 特别炫酷的网站网站建设地址北京昌平