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

带有非OK状态的响应不尊重生产者注释中的内容类型

柳坚白
2023-03-14

有人能帮我吗?非常感谢。

共有1个答案

司寇高洁
2023-03-14

事实证明这真的很有趣。我使用以下代码启动了grizzly servlet,而不是grizzly server

WebappContext webappContext = new WebappContext("GRIZZLY Web Server WebappContext");
ServletRegistration servletRegistration = webappContext.addServlet("JerseyServletContainer", ServletContainer.class);
servletRegistration.setInitParameter("jersey.config.server.provider.packages", WebServiceConstants.ROOT_PACKAGE);
servletRegistration.addMapping("/*");
webappContext.deploy(grizzlyWebServer);
startGrizzlyWebServer(grizzlyWebServer);

似乎servlet以某种方式将所有非OK(不是400)http响应的content-type转换为type=text/html;Charset=ISO-8859-1。

如果我启动了grizzly-http-server,一切都可以正常工作。

 类似资料:
  • HTTP响应消息的响应状态行分为三部分:HTTP版本、状态码和状态信息,如下所示: HTTP/1.1 200 OK 其中HTTP版本可以是HTTP/1.1或HTTP/1.0,这由Web服务器所支持的HTTP版本决定。状态信息的内容和状态相关,如404状态码所对应的HTTP1.1规范中的状态信息是Not Found。由于HTTP版本一般是基本固定的,而状态信息是随着状态码的变化而变的。因此,在HTT

  • 在我的microservice Spring Boot项目中,我用@ResponseStatus注释了这个自定义异常: 它工作得很好:当引发异常时,我的控制器返回指定的状态(404),但原因没有得到解决(错误消息是“${message.custom.notFound}”)。 您知道是否有方法将属性文件中的属性注入到此注释中吗? 提前感谢

  • 我有一个班级组织,只有很少的字段,如下所示。 为了在客户端以简单的方式处理日期,我将转换为,并使用这些JsonSerializer将其发送给客户端,如下所示 我有一个endpoint,它将执行get organization并像下面这样在响应映射中插入结果。 但是我在客户端看到的最终结果JSON是 这里的日期以某种形式出现,而不是很长。如果我使用Jackson转换相同的数据,而不使用云endpoi

  • 我有两个实体 和 此映射: 最近增加了。 在运行应用程序时,应用程序崩溃,错误是:通过JDBC语句执行DDL“alter table documents add debt__idbigint not null”时出错 我检查了Hibernate发送到数据库的sql查询,它是:更改表文档添加debt_idbigint不null 此查询失败,因为表上已经有记录,因此无法添加不带默认值的不可为空列。 那

  • 我在RequestSpecBuilder中将内容类型设置为“ContentType.JSON”。但在发出GET请求时,我得到的内容类型是“application/xml”。如何获取json响应?我尝试过以下方法:1。使用RequestSpecBuilder类的setContentType方法将RequestSpecBuilder对象中的内容类型设置为“ContentType.JSON”,并在Req