Не удается получить ответ от dotnetcore Web API при вызове метода GET - PullRequest
0 голосов
/ 05 марта 2019

Я создал веб-API для создания проекта JIRA всякий раз, когда вызывается метод post. Он успешно создает проект, но теперь я больше не хочу создавать проекты, но я использую метод GET, чтобы убедиться, что мой API работает. Метод GET будет возвращать ответ в формате json независимо от того, что сервер выдает при вызове почтальона. Но он выдает ошибку состояния 404. Мой контроллер, код модели:

CommonModel:

using System;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Threading.Tasks;

namespace poc.Model
{
    public class inputtoJiRA
    {
        public string applicationName { get; set; }
        public string jirakey { get; set; }
        public string Projassignee { get; set; }

    }

    public class outputfromJIRA
    {
        public string message { get; set; }
    }


    public class RequestModel
    {

        public outputfromJIRA ApiCall(inputtoJiRA input)
        {
            try
            {
                using (HttpClient client = new HttpClient())
                {

                    string url = "// URL http://IP-Address/jira/project"

                    HttpResponseMessage objresponse = client.PostAsJsonAsync<inputtoJiRA>(url, input).Result;
                    outputfromJIRA Output = new outputfromJIRA();
                    HttpContent content = objresponse.Content;
                    string message1 = string.Empty;
                    Task<string> responseJIRA = content.ReadAsStringAsync();
                    if (objresponse.IsSuccessStatusCode)
                    {
                        if (((int)objresponse.StatusCode) < 202)
                        {
                            Output.message = Convert.ToString(objresponse);
                        }
                    }
                    else
                    {
                        Output.message = Convert.ToString(objresponse);
                    }
                    return Output;
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
    }
}

JiraController:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Policy;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Newtonsoft.Json;
using poc.Model;

namespace poc.Controllers
{
    [ApiController]
    public class JiraController : ControllerBase
    {
        // GET api/values
        [Route("getjira")]
        [HttpGet]
        public string Get(string Id)
        {
            var myRoute = Url.RouteUrl(RouteData.Values);
            return myRoute;
        }
        // POST api/values
        [Route("pingjira")]
        [HttpPost]
        public outputfromJIRA Post([FromBody] inputtoJiRA inputjira)
        {
            RequestModel objreq = new RequestModel();
            var result = objreq.ApiCall(inputjira);
            return result;
        }


    }
}

Вывод, который я получаю в почтальоне, когда вызов GET url, представляет собой данные в формате json, содержащие индекс и имя различных проектов, созданных в jira. Я хочу получить те же данные при запуске на локальном хосте на каком-либо порту во время запуска dotnet.

Пожалуйста, предложите, если вам нужна дополнительная информация Спасибо

...