отладка основного веб-API asp.net - PullRequest
0 голосов
/ 24 сентября 2019

Я написал этот API в .net.Я пытаюсь вызвать этот метод через Fiddler и получаю следующее сообщение об ошибке:

<code><!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /api/allItProjectsLists/Index

Не уверен, что я делаю неправильно.Есть ли способ, я могу поставить точку останова внутри метода 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:

enter image description here

1 Ответ

0 голосов
/ 24 сентября 2019

Вам необходимо изменить [HttpGet("/Index")] на [HttpGet("Index")] в вашем действии для маршрутизации атрибутов.

[HttpGet("/Index")] будет выполнено для URL как https://localhost:44313/Index

[HttpGet("Index")]выполняется для URL как https://localhost:44313/api/AllItProjectsLists/Index

См. атрибут маршрутизации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...