Как удалить «Объект перемещен» из ответа контроллера Web Api - PullRequest
0 голосов
/ 19 февраля 2020

Я изменяю существующий код, который использует контроллеры веб-API, и я создал собственный атрибут авторизации, который работает нормально. Однако объект ответа, который должен быть json, имеет некоторый код html, который я никак не могу удалить. Есть идеи?

Мой контроллер:

[ApiAuthorize]
public HttpResponseMessage TestMethod(int id)
{
    return Request.CreateResponse(HttpStatusCode.OK, new { message = "This is a message", id = id });
}

Атрибут авторизации:

 public class ApiAuthorize : AuthorizeAttribute
{

    /// <summary>
    /// 
    /// </summary>
    /// <param name="httpContext"></param>
    /// <returns></returns>
    protected override bool IsAuthorized(HttpActionContext actionContext)
    {
        var isAuthenticated = base.IsAuthorized(actionContext);
        return isAuthenticated;
    }
    /// <summary>
    /// Handles unauthorized request response objects
    /// </summary>
    /// <param name="actionContext"></param>
    protected override void HandleUnauthorizedRequest(HttpActionContext actionContext)
    {
        var response = actionContext.Request.CreateErrorResponse(System.Net.HttpStatusCode.Unauthorized, "You need to re-login");

        actionContext.Response = response;
        return;

    }

}

И объект ответа я получаю:

<html><head><title>Object moved</title></head><body><h2>Object moved to 
<a href="/website/ws_login.aspx?ReturnUrl=%2fUnderwriterWorkspace%2fTestMethod">here</a>.</h2>

{"Message":"You need to re-login"}

Как мне избавиться от этого кода html (html ... / html> )?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...