Мне нужна помощь с приведенным ниже кодом для приложения WPF. net core 3.1, которое использует Refit для обработки API REST. Я пытаюсь получить значение AuthToken из заголовка ответа. Но я не могу найти свойство, содержащее значение AuthorizationHeaderValueGetter.
Я вижу некоторые ошибки, связанные с этой проблемой - https://github.com/reactiveui/refit/issues/689. Утверждается, что это было исправлено в версии. net core 3.1. Но я еще не смог получить заголовок ответа.
App.xaml.cs
private void ConfigureServices(IConfiguration configuration, IServiceCollection services)
{
services.AddRefitClient<IService>(new RefitSettings()
{
AuthorizationHeaderValueGetter = () => Task.FromResult("AuthToken")
})
.ConfigureHttpClient(c => c.BaseAddress = new
Uri(Configuration.GetSection("MyConfig:GatewayService").Value));
}
IService.cs Интерфейс IService был определен следующим образом:
[Headers("Content-Type: application/json")]
public interface IService
{
[Post("/v1/Authtoken/")]
public Task<string> Authenticate([Body] Authenticate payload);
}
Я внедряю IService в мою ViewModel (WPF) и пытаюсь получить значение заголовка «AuthToken», которое должно быть установлено.
Viewmodel
public class SomeViewModel: ISomeViewModel
{
public SomeViewModel(IService service)
{
this.Service = service;
}
public async Task<Tuple<bool, string>> Somemethod()
{
var authResponse = await Service.Authenticate(authPayload);
.......
}
}