. NET Core 3.1 HttpClient BaseAddress отсутствует последний сегмент Uri - PullRequest
0 голосов
/ 07 мая 2020

У меня проблема при создании запроса HttpClient. Я ввожу HttpClient в конструктор класса обслуживания через ASP. NET Внедрение ядра следующим образом:

services.AddHttpClient<IService, Service>(options =>
{
    options.BaseAddress = new Uri("https://test.com/test/v1");
});
private readonly HttpClient _httpClient;

public Service(HttpClient httpClient)
{
    _httpClient = httpClient;
}

Но когда я создаю запрос:

var requestBody = "{ \"test\": \"test\"}";
var path = "test";

using var requestContent = new StringContent(requestBody, Encoding.UTF8, MediaTypeNames.Application.Json);
using var requestMessage = new HttpRequestMessage(HttpMethod.Post, path)
{
    Content = requestContent
};

using var responseMessage = await _httpClient.SendAsync(requestMessage);

var responseBody = await responseMessage.Content.ReadAsStringAsync();

Весь Uri должен быть https://test.com/test/v1/test, но я получаю https://test.com/test/test. В этом случае сегмент v1 отсутствует. Я уже пробовал много случаев и обнаружил, что в HttpClient BaseAddress Uri отсутствует последний сегмент.

Скажите, пожалуйста, что-то, что я пропустил. Заранее спасибо!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...