只能在 asp.net 核心 webapi 中 post 到 post 方法
can only post to post method in asp.net core webapi
我创建了非核心网络api 项目来与移动应用程序交互。例如,如果我创建了一个名为 Data 的控制器,它有一个名为 Search 的方法,如下所示。该项目已配置为发送和接收 json 数据。
[HttpPost]
public Searchresult search(SearchQuery s)
{
// code to search
return sr; //object of type Searchresult
}
我可以使用 postman 通过以下 url 向此方法发送 post 请求
http://localhost/api/Data/search
同样,我可以在控制器中创建其他函数,并使用路由 '/api/[controller]/[action]' 调用它们。
我无法在 asp.netcore 网络 api 项目中做同样的事情。路由是控制器级别的,即“/api/[controller]”,每次我 posted 只命中 post 方法。按照以下方式实施 int eh。它在我 post 到 'http://localhost/api/Data'
时执行
[HttpPost]
public string Post([FromBody] testclass t)
{
return "{\"a\":\"" + t.a + "\",\"b\":\"" + t.b + "\"}";
}
当我post到“http://localhost/api/Data/test”
时,下面的代码永远不会执行
[HttpPost]
public string test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
这很可能是因为您的控制器不了解您的路线之间的差异。您需要像这样明确定义路由:
[HttpPost("post")]
public string Post([FromBody] testclass t)
{
return "{\"a\":\"" + t.a + "\",\"b\":\"" + t.b + "\"}";
}
[HttpPost("test")]
public string Test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
然后post给他们。
我创建了非核心网络api 项目来与移动应用程序交互。例如,如果我创建了一个名为 Data 的控制器,它有一个名为 Search 的方法,如下所示。该项目已配置为发送和接收 json 数据。
[HttpPost]
public Searchresult search(SearchQuery s)
{
// code to search
return sr; //object of type Searchresult
}
我可以使用 postman 通过以下 url 向此方法发送 post 请求 http://localhost/api/Data/search
同样,我可以在控制器中创建其他函数,并使用路由 '/api/[controller]/[action]' 调用它们。
我无法在 asp.netcore 网络 api 项目中做同样的事情。路由是控制器级别的,即“/api/[controller]”,每次我 posted 只命中 post 方法。按照以下方式实施 int eh。它在我 post 到 'http://localhost/api/Data'
时执行[HttpPost]
public string Post([FromBody] testclass t)
{
return "{\"a\":\"" + t.a + "\",\"b\":\"" + t.b + "\"}";
}
当我post到“http://localhost/api/Data/test”
时,下面的代码永远不会执行 [HttpPost]
public string test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
这很可能是因为您的控制器不了解您的路线之间的差异。您需要像这样明确定义路由:
[HttpPost("post")]
public string Post([FromBody] testclass t)
{
return "{\"a\":\"" + t.a + "\",\"b\":\"" + t.b + "\"}";
}
[HttpPost("test")]
public string Test([FromBody] testclass t)
{
return "{\"a\":\""+t.a+"\",\"b\":\""+t.b+"\"}";
}
然后post给他们。