是否可以使用NSwag CSharpClientGenerator添加自定义请求标头?
我有一个从我的API端点之一生成的方法,该方法接受一些参数,包括bearerToken。请注意,在我的HttpRequestMessageBody
中,我有此硬编码的不是自动生成的行// request_.Headers.Add("authorization", "Bearer " + bearerToken); how can I add this?
。使用Swagger JSON有效负载生成我的客户端API时,是否可以通过编程方式添加此内容?
public async System.Threading.Tasks.Task<UnifiedActivityMappingGroupMetadata> GetActivityMappingAsync(System.Guid instanceId, System.Guid groupId, string bearerToken, System.Threading.CancellationToken cancellationToken)
{
if (instanceId == null)
throw new System.ArgumentNullException("instanceId");
if (groupId == null)
throw new System.ArgumentNullException("groupId");
if (bearerToken == null)
throw new System.ArgumentNullException("bearerToken");
var urlBuilder_ = new System.Text.StringBuilder();
urlBuilder_.Append(BaseUrl != null ? BaseUrl.TrimEnd('/') : "").Append("/api/instances/{instanceId}/manage/activitymappings/{groupId}");
urlBuilder_.Replace("{instanceId}", System.Uri.EscapeDataString(ConvertToString(instanceId, System.Globalization.CultureInfo.InvariantCulture)));
urlBuilder_.Replace("{groupId}", System.Uri.EscapeDataString(ConvertToString(groupId, System.Globalization.CultureInfo.InvariantCulture)));
urlBuilder_.Replace("{bearerToken}", System.Uri.EscapeDataString(ConvertToString(bearerToken, System.Globalization.CultureInfo.InvariantCulture)));
var client_ = _httpClient;
try
{
using (var request_ = new System.Net.Http.HttpRequestMessage())
{
request_.Method = new System.Net.Http.HttpMethod("GET");
// request_.Headers.Add("authorization", "Bearer " + bearerToken); how can I add this?
request_.Headers.Accept.Add(System.Net.Http.Headers.MediaTypeWithQualityHeaderValue.Parse("application/json"));
PrepareRequest(client_, request_, urlBuilder_);
var url_ = urlBuilder_.ToString();
request_.RequestUri = new System.Uri(url_, System.UriKind.RelativeOrAbsolute);
PrepareRequest(client_, request_, url_);
答案 0 :(得分:0)
一种解决方案可以使您使用自定义类包装生成的客户端,