请求正文未读

时间:2019-03-31 10:30:56

标签: c# asp.net-core dotnet-httpclient

你好,我面临以下问题:

我正在尝试向期望对象列表(json)的服务器发出http POST请求。 请求正文如下所示: {"context":3}。 如果未读取请求主体,则操作不会失败,而是将返回更多对象(主体充当过滤器)。

我试图理解为什么request body不被考虑,因为我总是得到所有对象。

[TestCase]
public async Task CanGetFromAws()
{
    var data = new { context = 3 };
    var raw = JsonConvert.SerializeObject(data);

    HttpClient client = new HttpClient();

    var content = new StringContent(raw);
    HttpRequestMessage msg = new HttpRequestMessage
    {
        Method = HttpMethod.Post,
        Content = content,
        RequestUri =new Uri(URL)
    };

    var response=await client.SendAsync(msg);
    var payload =await  response.Content.ReadAsStringAsync();
}

postman开始工作,读取请求正文,并得到过滤的结果,我也尝试使用RestSharp,再次工作:

[TestCase]
public async Task CanGetFromAwsWithRESPSharp()
{
    var data = new { context = 3 };
    var raw = JsonConvert.SerializeObject(data);

    var client = new RestClient(URL);
    var request = new RestRequest(Method.POST);
    request.AddHeader("content-type", "application/json");

    request.AddParameter("application/json", raw, ParameterType.RequestBody);
    IRestResponse response = client.Execute(request);
    var dt = response.Content; //gets filtered results
}

有人可以向我解释可能是什么问题,为什么在第一种情况下不考虑我的请求正文?

PS URL是一个string常量,无关紧要。

0 个答案:

没有答案