个人作为初学者学习及踩坑记录
主要研究POST相关的参数传递和返回。
VS2022+.NET Core6.0
1、参数传递必须添加[FromBody],否则无法直接在request内容中读取,且[FromBody]不能用于多个参数。
[HttpPost("TestOne")]
public string TestOne([FromBody] string param)
{
return param;
}
且此种方法在请求时无法使用json格式,直接传递值即可
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://xxx/api/TestOne");
request.ContentType = "application/json";
request.Method = "POST";
// 错误传值
//var dic = new {param = "value"};
//byte[] data = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(dic));
// 正确传值
byte[] data = Encoding.UTF8.GetBytes("\"value\"");
request.ContentLength = data.Length;
try
{
Stream writer = request.GetRequestStream();
writer.Write(data, 0, data.Length);
writer.Close();
}
catch (Exception ex)
{
throw ex;
}
根据请求参数的格式也能知道,此