你好,我面临以下问题:
我正在尝试向期望对象列表(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
常量,无关紧要。