为了账号安全,请及时绑定邮箱和手机立即绑定

控制器的正确网址

控制器的正确网址

C#
慕田峪9158850 2021-11-21 18:02:35
你能告诉我什么是控制器方法 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


查看完整回答
反对 回复 2021-11-21
?
慕哥6287543

TA贡献1831条经验 获得超10个赞

路由到 ASP.NET Core 中的控制器操作”和“ ASP.NET Core 中的路由”是用于此目的的好文章。

在您的情况下,正确的 URL 是“ http://localhost:5000/api/profile/1 ”。

注意:如果使用 Postman 仍有问题,请搜索如何配置它。


查看完整回答
反对 回复 2021-11-21
  • 2 回答
  • 0 关注
  • 201 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信