C# - 如何发送URL作为Web.Api的GET方法的ID

时间:2015-03-23 21:55:20

标签: c# asp.net-web-api

如何在我发送的ID是网址的情况下发送GET请求?

即,我正在调用以下内容(显然不起作用),以便查看我发送的网址是否已经在我的数据库中。

http://myserver.com/api/checkurl/http://www.urltocheck.com.au/people/112

我的客户端代码是:

var response = httpClient.GetAsync("http://myserver.com/api/checkurl",  urlToCheck).Result;

在API方面:

[HttpGet]
[Route("api/checkurl/{url}")]
public HttpResponseMessage CheckURLExistsApi(string url)
{
    var url = db.URLS.FirstOrDefault(x => x.Url == url);
    if (url != null)
    {
        return Request.CreateResponse(HttpStatusCode.Found);         }

    }
    return Request.CreateResponse(HttpStatusCode.NotFound);
}

我是否应该封装我的网址字符串?或者我应该使用POST而不是GET并发送字典?

由于

1 个答案:

答案 0 :(得分:0)

这些评论建议使用URL编码,但我遇到了查询字符串存在潜在危险的问题,并且不习惯通过web.config删除该保护站点。

所以我最终做的是创建一个模型来保存我的URL,并使用PostAsJson方法对其进行POST,并获取用于评估的HTTP状态代码。