嗨,我是Web API的初学者。所以我创建了一个像这样的简单功能测试。
[HttpGet]
public ActionResult<IEnumerable<string>> Get()
{
return new string[] { "value1", "value2" };
}
[HttpGet]
[Route("api/[controller]/test")]
public string[] test()
{
return new string[] { "test1","test2" };
}
在这里,我使用路由规范创建了一个自定义方法测试。但是当我尝试 https://localhost:44389/api/values/test 时,它显示为{"errors":{"id":["The value 'test' is not valid."]},"title":"One or more validation errors occurred.","status":400,"traceId":"8000001f-0002-e900-b63f-84710c7967bb"}
请告诉我知道如何解决此问题。
答案 0 :(得分:1)
如果要忽略控制器上的路由,则需要使用斜杠前缀:
[Route("/api/[controller]/test")]
否则,您的路线将类似于/api/values/api/values/test
。