.net core的网站,api控制器类怎么访问?

zzy0000 2020-05-11 09:48:02
刚接触.net core,遇到问题,上来请教各位,感谢~

新建的.net core网站,在已有的pages文件夹里添加一个api控制器类,名称和代码都没改,全部默认

namespace API.Pages
{
[Route("api/[controller]")]
public class ValuesController : Controller
{
// GET: api/<controller>
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "value1", "value2" };
}

// GET api/<controller>/5
[HttpGet("{id}")]
public string Get(int id)
{
return "value";
}
......
}

然后调式
http://locahost:5000/Index
http://locahost:5000/Privacy
已有的其他页面都可以访问

但api控制器类无法访问
http://locahost:5000/api/values
浏览器上显示404,是地址有错误还是其他地方还要配置?
...全文
693 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
泉低调前行 2020-05-14
  • 打赏
  • 举报
回复
[ApiController] [Route("Default")] public class DefaultController { [Route("Cs"),HttpGet] public void Cs(int a,int b) { int c= a + b; } } .netCore可以自己去配置Swagger测试路由或者你去PostMan测试
泉低调前行 2020-05-14
  • 打赏
  • 举报
回复
[ApiController] [Route("Default")] public class DefaultController { [Route("Cs")] public void Cs(int a,int b) { int c= a + b; } }[ApiController] [Route("Default")] public class DefaultController { [Route("Cs")] public void Cs(int a,int b) { int c= a + b; } }
泉低调前行 2020-05-14
  • 打赏
  • 举报
回复
你可以把Route("");里面写成你自己喜欢的控制器名;方法名同样否则访问都会加上http://api/控制器名/方法名
zzy0000 2020-05-12
  • 打赏
  • 举报
回复
引用 1 楼 泉低调前行 的回复:
自定义路由!不像。netFrameWork里面的自定义路由!API上面的Route(也可以改变成你自定义的),直接在方法名上面写Route("这里写路径方法名",HttpGet或者Post)
我试着改了下[Route("api/[controller]")],还是404 我如果是直接新建web api项目,是可以访问的;如果是新建web 网站项目,然后在里面新建api,就访问不了..
泉低调前行 2020-05-12
  • 打赏
  • 举报
回复
自定义路由!不像。netFrameWork里面的自定义路由!API上面的Route(也可以改变成你自定义的),直接在方法名上面写Route("这里写路径方法名",HttpGet或者Post)

13,347

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET技术前瞻
社区管理员
  • .NET技术前瞻社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧