GetAsync和PostAsJsonAsync方法传递参数JsonReaderException错误

时间:2018-01-19 17:45:13

标签: asp.net parameters client jsonexception getasync

我正在尝试构建一个提出请求的客户端。所以我不知道我如何在GetAsync方法上传递参数。 PostAsJsonAsync方法也存在同样的问题。

这是我的代码:

 public static async Task<List<Users>> GetUsers(HttpClient client, Users users, string accessToken)
    {
        try
        {
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", accessToken);

            HttpResponseMessage response = await client.GetAsync("/api/2.0/users/?id=5&name=name");
            response.EnsureSuccessStatusCode();

            List<Users> listUsers= await response.Content.ReadAsAsync<List<Users>>();
            Console.WriteLine("Returned list.");
            return listUsers;

        }
        catch (HttpRequestException e)
        {
            Console.WriteLine("{0}", e.Message);
            Console.ReadLine();
            throw;
        }

    }

当我从邮递员提出此请求时,我得到了我想要的结果。 Users类的变量多于我请求的2。

没有参数的GetAsync工作正常。当我运行项目时,我得到错误&#34; JsonReaderException:输入字符串&#39; 100.0&#39;不是有效的整数&#34;

是否有其他选项可以在url上传递参数?

1 个答案:

答案 0 :(得分:0)

我将整数属性的int类型更改为float并解决了问题。