Контроллер WebApi не ударил из браузера - PullRequest
0 голосов
/ 03 октября 2019

Hello All Я добавил контроллер в свой проект следующим образом: -

using Aero.Api.Models.ViewModels;
using Aero.Common.Interface;
using Aero.Data.Interface;
using Microsoft.Web.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace Aero.Api.Controllers
{
    [ApiVersion("1.0")]
    [Route("api/v{version:apiVersion}/province")]
    public class ProvinceController : BaseApiController
    {
        private IUserService _userService { get; set; }

        // GET: States
        public ProvinceController(IUserService userService, IMappingHelper mapper) :
            base(mapper)
        {
            _userService = userService;
        }

        public List<StateProvinceModel> Get()
        {
            List<StateProvinceModel> states = new List<StateProvinceModel>();
            StateProvinceModel stateProvince = new StateProvinceModel()
            {
                Id = "BC",
                Value = "BC - British Columbia",
                Name = "British Columbia",
                Country = "Canada"
            };

            StateProvinceModel stateProvince1 = new StateProvinceModel()
            {
                Id = "QB",
                Value = "QB- Quebec",
                Name = "Quebec",
                Country = "Canada"
            };

            StateProvinceModel stateProvince2 = new StateProvinceModel()
            {
                Id = "ON",
                Value = "ON- Ontario",
                Name = "Ontario",
                Country = "Canada"
            };

            states.Add(stateProvince);
            states.Add(stateProvince1);
            states.Add(stateProvince2);


            StateProvinceModel stateProvince3 = new StateProvinceModel()
            {
                Id = "IL",
                Value = "IL - Illinois",
                Name = "Illinois",
                Country = "United States"
            };

            StateProvinceModel stateProvince4 = new StateProvinceModel()
            {
                Id = "GA",
                Value = "GA-Georgia",
                Name = "Georgia",
                Country = "United States"
            };

            StateProvinceModel stateProvince5 = new StateProvinceModel()
            {
                Id = "NY",
                Value = "NY- New York",
                Name = "New York",
                Country = "United States"
            };

            states.Add(stateProvince3);
            states.Add(stateProvince4);
            states.Add(stateProvince5);

            return states;


        }
    }
}

, когда я пытаюсь вызвать метод Get из браузера следующим образом: - http://localhost:44300/api/v1/province Я получаю сообщение об ошибке, чторесурс не найден. Другие URL на существующих контроллерах работают. Например, URL-адрес, подобный следующему: - http://localhost:44300/api/v1/properties отлично работает.

Может кто-нибудь сказать мне, что происходит?

Ответы [ 2 ]

0 голосов
/ 13 октября 2019

Сэр, вы можете попробовать изменить имя метода.

0 голосов
/ 03 октября 2019

Вы должны наследовать свой класс контроллера для ApiController вместо BaseApiContoller.

Пример: открытый класс GoaAPIController: ApiController

...