WebAPI2 возвращает список записей и запрашивает токен авторизации

Мне не очень понятно, как справиться с таким сценарием.

У меня есть следующий API

    public IEnumerable<Contact> GetContactList()
    {
        pseudo code >> 
        if AuthenticationToken from Header NOT present
           return HttpResponseMessage(HttpStatusCode.BadRequest , 
                      "Authentication Token missing");

        return list of contacts from DB;
    }

Является ли допустимым сценарий наличия API, который возвращает либо HttpResponseMessage, либо список IEnumerable в той же процедуре >>

1 ответ

Решение

Если вы измените тип возврата на HttpResponseMessage, вы можете сделать что-то вроде следующего:

public HttpResponseMessage GetContactList()
{
    if (IsValid(Request.Headers.Authorization))
    {
        var contacts = DB.GetContacts();
        return Request.CreateResponse(HttpStatusCode.OK, contacts);
    }
    else
    {
        return Request.CreateResponse(HttpStatusCode.BadRequest, "Authentication Token missing");
    }
}
Другие вопросы по тегам