0

我是 WebAPI 的新手,想了解这一点。假设用户正在尝试登录,登录过程应返回一个 GUID“令牌”,该令牌创建并存储在 SQL 数据库中……或者“电子邮件不存在”或“电子邮件仍在等待确认”。

假设输入是 LoginName 和 Password,那么 APIController 返回的内容是什么?在这种情况下或那些消息上放置 TOKEN 的正确方法是什么?

QUESTION1:
APIController 方法签名应该是什么?
...一个有几个属性的类?
我应该如何将 Token 退还给客户?
...在标题内还是作为结果过程的一部分?

QUESTION2:
什么是用户已被阻止,我不应该返回 HttpStatusCode.Forbidden 或类似的东西吗?如果签名期望类返回,我该怎么做?

4

1 回答 1

1

您可以定义一个包含您需要的所有结果信息的类。

public class ApiLoginResult
{
    public bool IsSuccess { get; set; }
    public string Message { get; set; }
    public string AccessToken { get; set; }
    public DateTime Expiration { get; set; }
}

您的方法签名可以定义包含状态代码和数据的HttpResponseMessage类型的返回。

public HttpResponseMessage Login(string username, string password)

要返回 ApiLoginResult 消息,请使用HttpRequestMessage.CreateResponse方法。

return Request.CreateResponse<ApiLoginResult>(statusCode, result);
于 2013-10-13T18:41:57.757 回答