你能告诉我什么是控制器方法 GetProfileById 的正确 url 与属性 'id' 我尝试了很多 url,如 ' http://localhost:5000/api/Profile/GetProfileById/1 '、' http://localhost:5000/ api/Profile/ProfileById/1 ',' http://localhost:5000/api/ProfileById/1 ' 但 Postman 显示消息 'Cannot Get and my url'这是代码:using System.Threading.Tasks;using Microsoft.AspNetCore.Authorization;using Microsoft.AspNetCore.Mvc;using SocialNetwork.Repositories;using SocialNetwork.Repositories.GenericRepository;namespace SocialNetwork.Controllers{ [Route("/api/[controller]")] public class ProfileController : Controller { private readonly ProfileRepository repository; public ProfileController(IProfileRepository repository) { this.repository = (ProfileRepository)repository; } [HttpGet("{id}")] [ProducesResponseType(200, Type = typeof(Profile))] [ProducesResponseType(404)] public async Task<ActionResult<Profile>> GetProfileById(int id) { var profile = await repository.GetById(id); if(profile != null) { return new OkObjectResult(Json(profile)); } return NotFound(); }}}
2 回答
波斯汪
TA贡献1811条经验 获得超4个赞
应该是/api/profile/<id>
。您可以通过[Route("/api/[controller]")]
方法上方的指令来说明这一点。然后,任何 id 都在后面的一个斜杠之后添加。
因此,您localhost
(或您的域)的完整路由将是http://localhost:5000/api/Profile/1
慕哥6287543
TA贡献1831条经验 获得超10个赞
“路由到 ASP.NET Core 中的控制器操作”和“ ASP.NET Core 中的路由”是用于此目的的好文章。
在您的情况下,正确的 URL 是“ http://localhost:5000/api/profile/1 ”。
注意:如果使用 Postman 仍有问题,请搜索如何配置它。
- 2 回答
- 0 关注
- 201 浏览
添加回答
举报
0/150
提交
取消