通过邮递员调用 API 工作正常,但在我的应用程序中无效

Mat*_*ott 0 c# api postman

我在邮递员中成功调用了一个休息 API。

我复制了邮递员生成的 c# 代码并将其放入我自己的 c# web API 中,但它失败了。

报告错误的请求。

我是否遗漏了什么,邮递员会做一些我不知道的额外事情。

邮递员 标题...

Content-Type : application/json
Run Code Online (Sandbox Code Playgroud)

身体...

{  
   "key":"value",
   "key":"value",
   "key":value,
   "key":"value",
   "key":"{key:value}"
}
Run Code Online (Sandbox Code Playgroud)

以上运行正常...

我的 Web API...

       string json = " { ";

        json += " \"key\":\"value\", ";
        json += " \"key\":\"value\", ";
        json += " \"key\":\"value\", ";
        json += " \"key\":\"value\", ";
        json += " \"key\":\"{ key: value}\"";

        json += " } ";


        var client = new RestClient("url");
        var request = new RestRequest(Method.POST);
        request.AddHeader("content-type", "application/json; charset=utf-8");
        request.AddParameter("application/json", json, ParameterType.RequestBody);
        IRestResponse response = client.Execute(request);
Run Code Online (Sandbox Code Playgroud)

这返回...

StatusCode: BadRequest, Content-Type: text/html, Content-Length: -1)
Run Code Online (Sandbox Code Playgroud)

Mat*_*ott 5

毕竟,它所需要的只是网址为 https:// 而不是 http:// :(

以防万一它在未来对其他人有帮助,在邮递员中,url 只是设置为 domain.co.uk 但在我的代码中,我已经将http://domain.co.uk作为 API 的基本 url,所以API 要求使用 SSL 进行所有调用。

默认情况下,邮递员必须执行 SSL。一旦我将我的应用程序设置为 https://,它就可以正常工作。