我将ASP.NET Core用于Web API,并创建了POST函数,但不知道如何在URL中传递字符串“名称”,以便该函数可以返回正确的字符串。
网址应类似于:
https://localhost/44320/api/list/test/...something传递名称...
//This is in my Controller class
[HttpPost("test/{name}")]
public string PostTest(string name)
{
return "Name: " + name;
}
返回值不言自明,但是当我这样做时,我只会收到405错误 https://localhost:44320/api/list/test/bob/
尽管我只是执行GET并执行所有操作都会打印文本,但是它可以正常工作。
答案 0 :(得分:0)
确保控制器外观如下:
[Route("api/[controller]")]
public class ListController : Controller
{
[HttpPost("test/{name}")]
public string Post([FromRoute] string name)
{
return "Name: " + name;
}
}
在return
语句上放置一个断点,调试应用程序,然后使用以下命令向其发送POST请求:https://localhost:44320/api/list/test/bob
name
应该包含值bob
。
编辑:这是上面的工作屏幕截图,尽管localhost端口明显不同。
答案 1 :(得分:0)
尝试这样:
[HttpPost]
[Route("test/{name}")]