Другой шаблон маршрута, чем имя контроллера в приложении Web API - PullRequest
0 голосов
/ 29 июня 2019

Я новичок в WebAPI в веб-приложении ASP.NET, и я слежу за учебником YouTube, который не устраняет эту путаницу, я скажу путаницу, потому что это не ошибка как таковая.

Итак, я делаю простой WEB API с использованием MVC Entity Framework. У меня есть имя модели базы данных DBModel.cs, а другой файл с именем Employeetbl.cs, который также совпадает с именем таблицы в моей БД, которую я упомянул в файле ADO.NET, имя контроллера - EmpController.cs.

Теперь внутри EmpController.cs у меня есть что-то вроде этого

public class EmpController : ApiController
{
    private EmployeeDBEntities db = new EmployeeDBEntities();

    // GET: api/Emp
    public IQueryable<Employeetbl> GetEmployeetbls()
    {
        return db.Employeetbl;
    }

строка API - api/Emp, не должна ли она быть api/Employeetbl. Я делаю что-то не так или мне нужно изменить это вручную? Спасибо.

1 Ответ

0 голосов
/ 29 июня 2019

Немного сложно ответить на ваш вопрос, потому что вам нужно прочитать немного больше о WEB API и маршрутизации Web API.api/Emp упоминает имя вашего контроллера EmpController, а не имя вашего класса Employeetbl. Это просто класс, который вы возвращаете из действия GetEmployeetbls.см. этот код

 config.Routes.MapHttpRoute(
        name: "DefaultApi",
        routeTemplate: "api/{controller}/{id}",
        defaults: new { id = RouteParameter.Optional }
    );

Это конфигурация маршрутизации, и некоторые атрибуты, такие как [Route("api/..")] или [RoutePrefix("api/..")], могут быть полезны для создания лучшего маршрута для действий.

в любом случае, эта ссылка может помочь вам узнать о маршрутизации Web API

Надеюсь, эта ссылка поможет вам.

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