微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在ASP.NET Core Controller中返回自定义HTTP响应?

如何解决如何在ASP.NET Core Controller中返回自定义HTTP响应?

在ASP.NET核心MVC中,如何返回自定义HTTP响应以及自定义HTTP代码?我希望能够自己构建响应,最好从控制器返回响应。

  public IActionResult Index()
    {
          // set custom HTTP response and return
    }

....有人获取索引,我应该能够像下面一样手动发送响应,在这里我可以控制响应的各个方面。我什至可以只返回自己构建的字符串即可。

HTTP/1.1 200 OK
Date: Mon,27 Jul 2009 12:28:53 GMT
Server: Apache/2.2.14 (Win32)
Last-Modified: Wed,22 Jul 2009 19:15:56 GMT
Content-Length: 88
Content-Type: text/html
Connection: Closed

如何在ASP.NET Core MVC中做到这一点?

解决方法

我意识到我的想法有点隧道化,答案比我最初预期的要简单得多。

        public void Index()
    {
        Response.StatusCode = 200;
        Response.StartAsync();

        return;
    }

这允许人们自己简单地将数据添加到响应中并将其发送给客户端。我正在使用ASP.NET Core 3.1 MVC。

,

适应here的答案...

public IActionResult Index()
{
    return StatusCode((int)HttpStatusCode.MovedPermanently);
}

另一个示例,如果您想在响应正文中传回400状态代码和验证错误...

public IActionResult Index()
{
    var validationErrors = _repository.Validate()
    return StatusCode((int)HttpStatusCode.BadRequest,validationErrors);
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。