【问题标题】:Why cant i access my api controller in browser?为什么我不能在浏览器中访问我的 api 控制器?
【发布时间】:2021-06-25 12:32:56
【问题描述】:

我在 Visual Studio 中使用 dotnet 5.0 webapi C#。我正在做一个控制器。当我输入链接时: localhost:portnumber/api/hello 它告诉我它无法连接到它,并且我无法获得任何值。即使当我只是访问 localhost:portnumber 时,Web 应用程序似乎运行良好。 这是我的控制器:

using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace Album.Api.Controllers
{
    [Route("api/[controller]")]
    [ApiController]
    public class HelloController : ControllerBase
    {
        [HttpGet("{name}")]
        public string Get(string name)
        {
            var greeting = new GreetingService();
            string messagegreeting = greeting.Greet(name);
            return messagegreeting;
        }

        [HttpGet]
        public string Get()
        {
            return "Hello";
        }
    }
}

【问题讨论】:

  • 错误不在控制器中。控制器用于解析/反序列化响应。错误是请求中的 URI。
  • 您是否收到 200、404 或运行时错误?
  • 我能做些什么来解决它?我只是一个初学者
  • 我收到 404 错误。
  • 你打电话的网址是什么?

标签: c# .net-core controller webapi


【解决方案1】:

您的 api 地址将是: /api/Hello/{name}

您必须将名称传递给您的 api: /api/你好/你的名字

【讨论】:

  • 那么第二个控制器方法需要的url是什么?
  • 会像:/api/Hello
  • 这是 OP 当前使用的
  • 我制作了一个 asp.net 核心应用程序并放入了您的代码,它对我有用,没有任何错误,您的错误是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-03
  • 1970-01-01
  • 2019-02-23
  • 2016-01-23
  • 1970-01-01
  • 2019-12-04
  • 1970-01-01
相关资源
最近更新 更多