ASP.NET Web API如何返回JSON结果?路由为pokemon/hello
解决ASP.NET Web API路由"pokemon/hello"返回指定JSON的问题
创建/修改Pokemon控制器
确保控制器继承ControllerBase并标记[ApiController],同时设置控制器级路由前缀[Route("pokemon")],示例代码:using Microsoft.AspNetCore.Mvc; [ApiController] [Route("pokemon")] public class PokemonController : ControllerBase { // 后续添加Action方法 }添加返回指定JSON的Action方法
在控制器内添加对应路由的Action,两种实现方式都可以:
方式一:使用IActionResult的Ok方法返回[HttpGet] [Route("hello")] public IActionResult GetHello() { var response = new { pokemon = "hello world" }; return Ok(response); }方式二:直接返回匿名对象(框架自动序列化为JSON)
[HttpGet("hello")] // 合并路由配置,写法更简洁 public object GetHello() { return new { pokemon = "hello world" }; }验证路由有效性
启动项目后,通过浏览器或API测试工具访问http://localhost:<你的项目端口>/pokemon/hello,即可获取目标JSON响应。
常见排查点
- 确认控制器放在项目默认的
Controllers文件夹下(ASP.NET会自动扫描该目录) - 检查是否存在其他路由冲突(比如其他控制器使用了相同的路由前缀或路径)
- 核对访问路径的拼写,确保端口号、路由段无错误
内容的提问来源于stack exchange,提问作者Mira
相关产品推荐
相关产品推荐

