从swagger获取Web API路径

问题描述 投票:0回答:3

我有一个swagger url http://somehost/swagger/index.html结束方法,如图所示:enter image description here

有人对我说http://somehost/api/Referral/GetReferralByNumber是API地址,我可以通过HTTP请求来引用它。

static void Main(string[] args)
        {

            try
            {
                System.Net.WebClient client = new System.Net.WebClient();
                string result = client.DownloadString("http://somehost/api/Referral/GetReferralByNumber");
            }
            catch (System.Net.WebException ex)
            {

                Console.WriteLine(ex);

            }

            Console.ReadKey();
        }

这是测试API的代码,但是

System.Net.WebException:远程服务器返回错误:(404)Not Found exception

被抛出任何帮助?

c# api web-services swagger
3个回答
1
投票

Client.DownloadString()发出GET请求。您的操作支持POST。尝试使用HttpClient,它应该更适合您的情况。


1
投票

您正在点击获取请求,而对于Get请求,则没有此类端点。

您应该尝试将HTTP选项Post添加到服务器。

码:

private static readonly HttpClient client = new HttpClient();
HttpResponseMessage response = await client.PostAsJsonAsync(
                "api/referral/GetReferralByNumber", data);

其中data是应该发布到服务器的数据。


0
投票

你应该创建一个http客户端并像这样使用POST:

var method = HttpMethod.Post;
var endPoint = "http://somehost/api/Referral/GetReferralByNumber";
var request = new HttpRequestMessage(method, endPoint);
var client = new HttpClient();
var response = await httpClient.SendAsync(request);
© www.soinside.com 2019 - 2024. All rights reserved.