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");
}
}