我在 .net 中编写了这个 API。我正在尝试通过 Fiddler 调用此方法并收到以下错误消息:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /api/allItProjectsLists/Index</pre>
</body>
</html>
不知道我做错了什么。有什么办法,我可以在方法Index里面放一个断点,找出问题所在。下面是我的 API 代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.EntityFrameworkCore;
using ProjectDetails.Models;
using ProjectDetails.Data;
using ProjectDetails.Interfaces;
namespace ProjectDetails.Controllers
{
[Route("api/[controller]")]
[ApiController]
public class AllItProjectsListsController : ControllerBase
{
private readonly KPIContext _context;
private readonly IProject objProject;
public AllItProjectsListsController(IProject _objProject)
{
objProject = _objProject;
}
[HttpGet("/Index")]
public IEnumerable<AllItProjectsList> Index()
{
return objProject.GetAllProjectDetails();
}
[HttpPost]
[Route("api/AllItProjectsLists/Create")]
public int Create([FromBody] AllItProjectsList project)
{
return objProject.AddProject(project);
}
[HttpGet]
[Route("api/AllItProjectsLists/Details/{id}")]
public AllItProjectsList Details(int id)
{
return objProject.GetProjectData(id);
}
[HttpPut]
[Route("api/AllItProjectsLists/Edit")]
public int Edit([FromBody]AllItProjectsList project)
{
return objProject.UpdateProject(project);
}
[HttpDelete]
[Route("api/AllItProjectsLists/Delete/{id}")]
public int Delete(int id)
{
return objProject.DeleteProject(id);
}
[HttpGet]
[Route("api/AllItProjectsLists/GetAppDevList")]
public IEnumerable<AppDev> GetAppDev()
{
return objProject.GetAppDevs();
}
对上述调试的任何帮助将不胜感激。在 Fiddler 中,我输入了以下 URL:
https://localhost:44313/api/AllItProjectsLists/Index
下面是来自 Fiddler 的图片:
您需要更改[HttpGet("/Index")]
为[HttpGet("Index")]
对属性路由的操作。
[HttpGet("/Index")]
将对 URL 执行为 https://localhost:44313/Index
[HttpGet("Index")]
将对 URL 执行为 https://localhost:44313/api/AllItProjectsLists/Index
参考属性路由
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句