Почему мой веб-интерфейс всегда не может выполнить запрос HttpGet? - PullRequest
0 голосов
/ 18 января 2019

Я запускаю новый веб-API, где я добавил контроллер SRDSController , где у меня есть метод Get , возвращает строку. Но, к сожалению, он не возвращает его, шаблон веб-API asp.net возвращает его аналогичным образом. Пожалуйста, помогите

После долгих поисков в Google я добавил GlobalConfiguration.Configuration.EnsureInitialized(); в Global.asax. Но до сих пор не решен вопрос.

Global.asax :

AreaRegistration.RegisterAllAreas(); 
WebApiConfig.Register(GlobalConfiguration.Configuration);
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
GlobalConfiguration.Configuration.EnsureInitialized();

Контроллер SRDSC

     [RoutePrefix("srds-data")]
      public class SRDSController : ApiController
    {
    private ISRDSService srdsService = null;
    public SRDSController()
    {
        srdsService = new SRDSService();
    }

    [Route("srds-test")]
    [HttpGet]
    public string GetTestData()
    {
        return "SRDS is working";
    }

    [Route("get-org-detail")]
    [HttpPost]
    public IHttpActionResult GetOrgDetails(SRDSRequest srdsRequest)
    {
        var data = srdsService.GetOrgDetails(srdsRequest.OrgNumbers, srdsRequest.UserName);

        return Ok(data);
    } 
}`

На данный момент, когда я запускаю приложение, оно запускает приложение с http://localhost:59691/Help/, и выводит весь список методов Get & Post.

Не стесняйтесь задавать любые вопросы

Заранее спасибо

1 Ответ

0 голосов
/ 18 января 2019

Мне кажется, вы можете пропустить этот звонок:

config.MapHttpAttributeRoutes();

Это должно быть сделано в методе Register класса WebApiConfig. Смотрите Здесь для более подробной информации. Я говорю это потому, что вы используете Attribute Routing в своих методах действия.

Причина, по которой вызов URL-адреса справки работает, потому что он регистрируется при вызове RegisterAllAreas.

...