Jon*_*ing 8 c# encoding asp.net-web-api
我需要向方法发送电子邮件地址Web.Api get.在允许某人注册新帐户之前,我需要检查我们的系统中是否存在电子邮件地址.
我的第一个想法是encode电子邮件地址,然后decode它就在GetAction 内部
URL看起来像这样
http://mysite/Api/RTSCredit/jharding%40email.com
但是,这始终是错误的404响应
这里是 WebApiConfig.cs
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{emailAddress}",
defaults: new { id = RouteParameter.Optional }
);
Run Code Online (Sandbox Code Playgroud)
当我发送一个简单的字符串 http://mysite/Api/RTSCredit/someemail
它会像我希望的那样点击Get动作,但显然无法返回有用的值.
这是Get Action
[HttpGet]
public HttpResponseMessage Get([FromUri] string emailAddress)
{
using (IRtsCreditDal rtsCreditDal = new RtsCreditDal())
{
var listOfExistingUsers = rtsCreditDal.GetUsersByEmail(emailAddress);
if (listOfExistingUsers == null || listOfExistingUsers.Count == 0)
{
return Request.CreateResponse(HttpStatusCode.NotFound, "not found");
}
else
{
return Request.CreateResponse(HttpStatusCode.OK);
}
}
}
Run Code Online (Sandbox Code Playgroud)
我需要做哪些调整才能将电子邮件发送到此Action?
因为我一直在玩,它似乎不喜欢periodURL中的.我可以轻松地做一些事情来取代那个角色,但感觉就像一个黑客.
Mic*_*lLo 24
尝试在从客户端到达的电子邮件末尾添加尾随/:
http://localhost:8800/api/users/user@gmail.com/
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6190 次 |
| 最近记录: |