我正在使用 flurl 提交 HTTP 请求,这非常有用。现在我需要将一些请求的“ Content-Type”标头更改为“application/json;odata=verbose”
public async Task<Job> AddJob()
{
var flurlClient = GetBaseUrlForGetOperations("Jobs").WithHeader("Content-Type", "application/json;odata=verbose");
return await flurlClient.PostJsonAsync(new
{
//Some parameters here which are not the problem since tested with Postman
}).ReceiveJson<Job>();
}
private IFlurlClient GetBaseUrlForOperations(string resource)
{
var url = _azureApiUrl
.AppendPathSegment("api")
.AppendPathSegment(resource)
.WithOAuthBearerToken(AzureAuthentication.AccessToken)
.WithHeader("x-ms-version", "2.11")
.WithHeader("Accept", "application/json");
return url;
}
您可以看到我如何尝试在上面添加标题 ( .WithHeader("Content-Type", "application/json;odata=verbose")
)
不幸的是,这给了我以下错误:
“InvalidOperationException:错误的标头名称。确保请求标头与 HttpRequestMessage 一起使用,响应标头与 HttpResponseMessage 一起使用,内容标头与 HttpContent 对象一起使用。”
我还尝试了 flurl 的“ConfigureHttpClient”方法,但找不到设置内容类型标头的方式/位置。