2

我正在使用 ServiceStack 客户端调用 web 服务,如下所示:

var client = new JsonServiceClient(apiUrl);
var url = "/V1/MyApiCall";

var response = client.Post<MyApiCallResponse>(url, "foo=" + request.foo + "&bar=" + request.bar);

这通常效果很好,但是我需要更改 Content-Type 标头。默认情况下(以及我从服务进行的大多数其他调用),这需要是application/json,但在这种特殊情况下,它需要是application/x-www-form-urlencoded

client.ContentType没有实现 setter,那么如何更改 Content-Type 标头?

4

1 回答 1

1

不要使用Servicestack 的 C# 客户端调用 3rd 方 API。您正在使用一个 JSON 客户端,它按预期发送 JSON。如果您需要调用第 3 方 API,您可以使用ServiceStack 的内置 HTTP Utils,查看POSTing 数据示例,例如:

var response = url.PostToUrl(new { foo = request.foo, bar = request.bar },
                   acceptContentType = "application/json")
    .FromJson<MyApiCallResponse>();
于 2013-04-14T14:53:41.860 回答