我试图使用Spring-boot Java和SteelToe ASP.NET创建微服务
步骤1:我使用Java创建了一个完整的服务(一个带有UI和API的服务。它托管在PCF上)。API内部定义了ClassesControler。
namespace employee-client.Service
{
public interface IRelayService
{
Task<HttpResponseMessage> getClassesList(string relativeUrl = "/api/v1/classes");
}
}
namespace employee-client.Service
{
public class RelayService : IRelayService
{
DiscoveryHttpClientHandler _handler;
string _accessToken;
private const string BASE_URL = "https://www.example.com";
public QortaService(IDiscoveryClient client, string accessToken)
{
_handler = new DiscoveryHttpClientHandler(client);
_accessToken = accessToken;
}
public async Task<HttpResponseMessage> getClassesList(string relativeUrl)
{
string classesUrl= BASE_URL + relativeUrl;
HttpClient client = GetClient();
HttpRequestMessage request = new HttpRequestMessage();
request.RequestUri = new Uri(classesUrl);
request.Headers.Authorization = new AuthenticationHeaderValue("Bearer", _accessToken);
return await client.SendAsync(request, HttpCompletionOption.ResponseContentRead);
}
private HttpClient GetClient()
{
var client = new HttpClient(_handler, false);
return client;
}
}
}
编辑:我修改了这个问题,使其更加清楚。流量的流动是从Java服务到.NET服务。.NET服务请求来自JAVA服务中的控制器的类列表(ClassesController.JAVA)
我不清楚流量在您的场景中流向哪个方向,但我认为您是在说。NET应用程序试图调用Java应用程序。您使用的代码是HttpClientFactory引入之前的代码,比现在的代码要笨拙一些。Steeltoe可以与HttpClientFactory一起使用,以获得更好的整体体验。
如果您在应用程序配置中设置logging:loglevel:Steeltoe.common.discovery
=true
,Steeltoe提供了调试日志,以确认服务查找的结果。
您没有具体提到什么不起作用,但我猜您得到的是404,因为您的代码将创建一个类似https://fortuneservice/api/fortunes/random/api/v1/classes
的请求路径
如果您正在.NET中寻找类似Feign的东西,可以试用Dhaven.faux
本文向大家介绍ASP.NET Core中的配置详解,包括了ASP.NET Core中的配置详解的使用技巧和注意事项,需要的朋友参考一下 ASP.NET Core 提供了一个灵活可扩展,基于键值的配置系统. 但是配置系统独立于ASP.NET Core是Microsoft.Extensions 类库的部分. 它可以用于任何类型的应用程序 1、以键-值对的形式读取配置 appsettings.json
本文向大家介绍Asp.Net MVC中配置Serilog的方法,包括了Asp.Net MVC中配置Serilog的方法的使用技巧和注意事项,需要的朋友参考一下 一、Serilog介绍 Serilog 是一种非常简便记录log 的处理方式,使用Serilog可以生成本地的text文件, 也可以通过 Seq 来在Web界面中查看具体的log内容。 二、配置方法 接下来就简单的介绍一下在Asp.Net
我无法为配置要使用的服务器列表。我使用的是Spring Cloud Netflix,但是这个特定的服务()没有在Eureka注册。因此,我需要在YML文件中为配置服务器列表。 但是,永远不会读取,因此操作失败,因为Faigns/Ribbon没有一个服务器可以使用。 我做错了什么? 我的假客户: 在引导中。yml: 如何在Spring Boot应用程序中配置Faigns客户端:
我想使用一些Rest服务。以前我用过RestTemplate,但是现在我想知道SpringBoot FeignClient和WebClient的主要区别是什么?何时应该使用它们?
本文向大家介绍asp.net core中灵活的配置方式详解,包括了asp.net core中灵活的配置方式详解的使用技巧和注意事项,需要的朋友参考一下 前言 asp.net core支持外部文件和命令行参数方式来配置系统运行所需要的配置信息,我们从下面两个常用场景来具体说下具体使用方法。 一、监听地址及端口配置 1,命令行方式 asp.net core系统通过命令行方式启动,使用的命令如下: do