调试asp.net core web API

安贾利

我在 .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] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章