我有一个web api控制器和两个GET方法:
public class ImagesController : ApiController {
[HttpGet]
public HttpResponseMessage GetImages() { }
[HttpGet]
public HttpResponseMessage Download([FromUri]int[] ids) { }
}
为什么我发现多个操作时发现错误,在尝试访问/ api / Images时,为什么两个操作都相同?
答案 0 :(得分:0)
创建控制器时,您已将HttpGet
分配给两种不同的方法。在尝试处理您的请求时,使您感到困惑。由于您将自己的GET
动词发送给控制器,而不是直接向该方法发送,因此Web服务器无法确定应该调用哪种方法。
您可以尝试使用/api/Images/GetImages
直接点按某个方法,或删除列出的方法。
答案 1 :(得分:0)
如果您看到Web API功能,它适用于所选的httm方法,如GET,PUT,POST,DELETE。
因此,如果您创建两个具有相同名称的操作方法,则会出错。要避免此错误,您必须在route.config文件中重新定义DefaultAPI路径。
将其更改为 API / {控制器} .....
更改后,从浏览器访问您的API 要么
如果这样可以解决您的问题,请标记为答案。