【发布时间】:2018-05-20 17:50:20
【问题描述】:
我有一个 .NET Core 2.0 WebApi 应用程序,其中我已将“Flurl.Http”(版本 2.1.0)NuGet 包添加到我的项目中。
我正在尝试使用 Flurl 对 Visual Studio Team Services 的 (VSTS) Api 端点之一进行简单的 REST API 调用。
但是,我调用的特定 VSTS api 端点要求将 Content-Type 设置为“application/json-patch+json”,而不是典型的“application/json”。
在我的 Flurl 调用中,我使用“WithHeader()”方法尝试在请求的标头中设置 Content-Type,但它不起作用。 Flurl 似乎不允许我覆盖 PostJsonAsync 方法中内置的默认或标准 Content-Type。
有人知道如何使用 Flurl 更改请求的 Content-Type 吗?或者如何正确覆盖 Flurl 配置中 Content-Type 的默认行为?
提前致谢!
我的代码:
public bool CreateNewBug(NewBugRequest newBugRequest)
{
return _apiUrlToCreateNewBug.WithHeader("Authorization", "Basic Base64PersonalAccessTokenGoesHere")
.WithHeader("Content-Type", "application/json-patch+json")
.PostJsonAsync(newBugRequest.Fields)
.Result
.IsSuccessStatusCode;
}
(此代码有效,但来自 VSTS api 的响应是 Content-Type 不允许,需要更改为“application/json-patch+json”,这是我尝试设置的它在标题中。)
【问题讨论】:
-
请花一分钟时间阅读What are tags, and how should I use them?,以免人们在您用标签填充问题时跳过您的问题。
标签: c# asp.net-core content-type asp.net-core-webapi flurl