I am using Visual Studio 2022 to develop a Winforms program, and Visual Studio reported a http 400 error when calling Web API.
Here is the code:
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(Url);
request.Method = "POST";
request. Referer = Referer;
byte[] bytes = Encoding.UTF8.GetBytes(Data);
request.ContentType = "application/json";
request.ContentLength = bytes.Length;
Stream myResponseStream = request.GetRequestStream();
myResponseStream.Write(bytes, 0, bytes.Length);
HttpWebResponse response = (HttpWebResponse) request.GetResponse(); //error
Error:
System.Net.WebException: "Theremoteserver returned an error: (400) Bad Request.
This is my Web API controller:
[Route("api/MyWebApi")]
[ApiController]
public class MyWebApiController : ControllerBase
{
private readonly ILogger<MyWebApiController> _logger;
public MyWebApiController(ILogger<MyWebApiController> logger)
{
_logger = logger;
}
[HttpPost("[action]")]
public IActionResult SayHello([FromBody] UserModel model)
{
if (model.pwd != "1")
{
object obj = new
{
code = "0",
msg = "Request failed"
};
return new JsonResult(obj);
//return new BadRequestResult();
}
else
{
object obj = new
{
code = "1",
msg = "Request successful"
};
return new JsonResult(obj);
}
}
}
I tried this ASP.NET Web Api HttpResponseException 400 (Bad Request) Hijacked by IIS and it doesn't seem to work. Can someone help me?