当前位置: 首页 > 知识库问答 >
问题:

HttpResponseMessageStringContent替换消息内容

易衡
2023-03-14

我试图用HttpResponseMessage返回一个错误消息,但我得到的是我假定的< code>StringContent。ToString()。这是我的代码:

HttpResponseMessage response = new HttpResponseMessage();

if (request.Error != null)
{
    response.Content = new StringContent(request.Error.Message);
    response.Content.Headers.ContentType = new MediaTypeHeaderValue(ContentTypes.PlainText);
    response.StatusCode = request.Error.StatusCode;
}
else
{
    response.Content = new ByteArrayContent(request.PhotoAsJpeg());
    response.Content.Headers.ContentType = new MediaTypeHeaderValue(ContentTypes.Jpeg);
    response.StatusCode = HttpStatusCode.OK;
}

错误状态代码类似于401、404等。消息是纯文本的,如“照片未找到”或“错误的参数”。我的期望是,当出现错误时,用状态代码(401等)进行响应。)和一条纯文本错误消息。我收到的是HTML格式的响应,状态代码为200,内容如下:

StatusCode: 400,原因短语:“错误请求”,版本: 1.1,内容:System.Net.Http.StringContent,标题:{Content-Type: text/平原}

如何获取包含错误消息的响应?

共有2个答案

党宇定
2023-03-14

请将此代码块用于错误部分。

if (request.Error != null)
{
   response.ReasonPhrase= request.Error.Message;
   response.StatusCode = HttpStatusCode.BadRequest;
}

我可以看到这样的反应。

状态代码:400,原因短语:“坏消息”,版本:1.1,内容:,标题:{}

年运珧
2023-03-14

您必须将 Response.StatusCode 添加到请求管道:

response.StatusCode = request.Error.StatusCode;
Response.StatusCode = request.Error.StatusCode;

否则,该框架假设200 OK。

 类似资料:
  • 如果满足条件,我们如何替换日志字符串中的某些字符,有什么想法吗?

  • 问题内容: 我对jQuery一无所知,但想实现一些非常重要的事情。 我想要一个按钮/链接来替换div内容,如果再次按下该按钮,它将把原始内容放回原处。 问题答案: 这是一种方法: HTML: jQuery:

  • 使用MVC Java编程配置方式时,如果你想替换Spring MVC提供的默认转换器,完全定制自己的HttpMessageConverter,这可以通过覆写configureMessageConverters()方法来实现。如果你只是想定制一下,或者想在默认转换器之外再添加其他的转换器,那么可以通过覆写extendMessageConverters()方法来实现。 下面是一段例子,它使用定制的Ob

  • 问题内容: 我知道在使用普通Django表单时如何设置自己的自定义错误消息。但是基于现有模型的Django Form呢?考虑以下模型和形式: 如果我创建此类表单并尝试发布,则会出现消息“此字段为必填”。但是如何改变呢?当然我可以做这样的事情: 但是根据文档,不会保留max_length属性,我必须将其显式写入表单定义。我认为模型表格的目的是避免两次编写相同的代码。因此,必须有一些简便的方法来更改自

  • 问题内容: 如何在iText中完成此操作?我有一个带有客户签名的PDF。我需要向未签名的属性添加ocsp响应。 我知道如何使用 但我不知道如何使用替换PDF 。如果我使用此代码: 包含签名的字典在哪里,则签名(在Adobe Reader中打开文档时)被破坏。 问题答案: 当iText 在正常模式下操作文档时,它可以(并且经常)重新排列现有的PDF对象。显然,这破坏了任何现有集成签名的哈希值。此外,