Маршрут localhost не работает должен возвращать JSON при поиске по URL - PullRequest
0 голосов
/ 10 июня 2019

Мои коллеги-программисты, у меня в основном этот метод async Get (), который успешно читает данные Json, но при поиске маршрута -> localhost: 59185 / api / encompass / data я получаю сообщение:

No HTTP resource was found that matches the request URL 'http://localhost:59185/api/encompass/data'.
</Message>

Я очень надеялся, что он вернет мой JSON, особенно когда при отладке кода он находится в 'string res' внизу

Кто-нибудь знает, почему Джсон не возвращается, даже думал, что он сидит в 'res'?

Контроллер:

    [HttpGet, Route("encompass/data")]
    public async Task<string> Get(string Accesstoken)
    {
         string res = "";
         using (var client = new HttpClient())
        {
            Accesstoken = Accesstoken.Substring(17, 28);
            client.BaseAddress = new Uri("https://api.elliemae.com/");
            client.DefaultRequestHeaders.Add("Authorization", "Bearer " + Accesstoken);
            var response = client.GetAsync("encompass/v1/loans/ea7c29a6-ee08-4816-99d2-fbcc7d15731d").Result;
            using (HttpContent content = response.Content)
            {
                // ... Read the string.
                Task<string> result = content.ReadAsStringAsync();
                res = result.Result;
            }

            return res; //<- this is not returning the JSon thats sitting in here 
        }

    }

1 Ответ

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

fay, токен носителя, используемый в заголовке вашего метода Get, должен быть в кодировке Base64

См. [How-do-i-encode-and-decode-a-base64-string] [1]

Я добавил значение Bearer HEADER для токена.

  [HttpGet, Route("values/get")]
        public async Task<string> Get(string resulted)
        {

            string res = "";
            using (var client = new HttpClient())
            {
                // HTTP POST

                client.BaseAddress = new Uri("https://api.elliemae.com/");          
                client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
                client.DefaultRequestHeaders.Add("Authorization", "Bearer " + Convert.ToBase64String(System.Text.ASCIIEncoding.ASCII.GetBytes(resulted)));
                var response = client.GetAsync("/encompass/v1/loans/{ea7c29a6-ee08-4816-99d2-fbcc7d15731d}?Authorization=Bearer "+resulted+"&Content-Type=application/json").Result;

                using (HttpContent content = response.Content)
                {
                    // ... Read the string.
                    Task<string> result = content.ReadAsStringAsync();
                    res = result.Result;
                }
            }
            return res;
        }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...