我正在尝试[HTTpPost]网络服务,但遗憾的是没有成功。
我的示例类是这样的:
[RoutePrefix("CarInformation")]
public class CarInformationController : BaseApiController
{
[HttpPost]
[Route("BodyStatusHistory2/{orders}")]
public HttpResponseMessage GetHistory(string orders)
{
//do something with orders
}
}
这是对的吗?如果是这样,我怎么称呼它?我从浏览器尝试了几件事,但我无法调用它。
我可以合并
[HTTpGET] and [HTTpPOST] ?
那么一个方法可以有GET和POST吗?如果我将注释从POST替换为GET,我可以在URL中调用它并且它正在工作。不幸的是没有POST
答案 0 :(得分:0)
是的,我知道,但我不想要GET它必须是一个POST。这是我的一个POST电话:
POST:
http://localhost:59595/CarInformation/BodyStatusHistory2/
Host: localhost:59595
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:44.0) Gecko/20100101 Firefox/44.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: en-US,en;q=0.5
Accept-Encoding: gzip, deflate
DNT: 1
Access-Control-Request-Method: POST
Access-Control-Request-Headers: content-type
Origin: http://localhost:51372
Connection: keep-alive
体:
{"orders":"6320171074502,6320171074504"}
答案 1 :(得分:0)
我修好了它:
使用正确的标题:
Content-Type: application/x-www-form-urlencoded
和
public HttpResponseMessage GetBodyStatusHistory2([FromBody] string orders)
有效