调用GET方法时无法从Web API dotnetcore获得响应

时间:2019-03-05 10:54:36

标签: c# model-view-controller .net-core jira-rest-api

无论何时调用post方法,我都创建了一个Web API以创建JIRA项目。它正在成功创建项目,但是现在我不想再创建项目,但是我正在使用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格式的数据时,我得到的输出是邮递员,其中包含Index和在jira上创建的各种项目名称。 我想在运行dotnet run的某个端口上的localhost上运行时获得相同的数据。

请建议您是否需要其他详细信息。谢谢

0 个答案:

没有答案