Параметризованный URL-адрес для получения JSON значения объекта в ответе для веб-API HttpClient GetRequest - PullRequest
0 голосов
/ 06 апреля 2020

Я работаю над основным веб-API-приложением ASP. NET. Я создал вызов Get Request для API, который возвращает данные в формате JSON.

        string URL = "http://www.example.com/GetInformation"
        private readonly HttpClient httpClient;
        var response = await httpClient.GetAsync(URL);
        response.EnsureSuccessStatusCode();
        var responseBody = await response.Content.ReadAsStringAsync();

И данные, которые я пытаюсь получить, имеют формат JSON:

{
    "offset": 0,
    "results": [
       ],
   "numberFound": 6,
    "numberReturned": 6
}
}

Я хочу получить значение "numberReturned", равное 6, передавая параметры в URL в GetAsyn c метод

Я не хочу использовать var responseObject = JObject.Parse(responseBody).SelectToken("numberReturned");

Я хочу получить значение, передав его в параметрах QueryString.

В некоторой степени вот так var URL ="http://www.example.com/GetInformation?numberReturned= "

Я не знаю, что и как это сделать

Есть ли способ достичь вышеизложенного.

1 Ответ

0 голосов
/ 06 апреля 2020

Как то так? Это базовая функция stock azure для перехвата значения из строки запроса или json body.

public static async Task<IActionResult> Run(
    [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log)
{
    log.LogInformation("HelloFunction HttpTrigger");

    string name = req.Query["name"];

    string requestBody = await new StreamReader(req.Body).ReadToEndAsync();
    dynamic data = JsonConvert.DeserializeObject(requestBody);
    name = name ?? data?.name;

    return name != null
        ? (ActionResult)new OkObjectResult($"Hello, {name}")
        : new BadRequestObjectResult("Please pass a name on the query string or in the request body");
    }

Вы будете в req.Query ["Name"]. Как вы сказали, вы передаете URL, так что это должно работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...