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

找不到媒体类型=text/plain的泽西MessageBodyWriter

丁宏浚
2023-03-14

我正在尝试遵循Jersey文档,以便在发生错误时启用非200响应(https://Jersey.java.net/documentation/latest/representations.html#D0E3586)

我的代码看起来像:

@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public ResponseBuilder getData(@FormParam("one") String one,@FormParam("two") String two,@FormParam("three") String three) {
    if(one.isEmpty() || two.isEmpty() || three.isEmpty()) {
        logger.error("Missing params for getData");
        throw new WebApplicationException(501);
    }
    return Response.ok();
}
}

不幸的是,这会产生以下错误:

[2015-02-01T16:13:02.157+0000][glassfish 4.1][严重][][org.glassfish.jersey.message.internal.writerInterceptoreExecutor][TID:_ThreadId=27_ThreadName=HTTP-Listener-1(2)][TimeMillis:1422807182157][LevelValue:1000][[找不到媒体的MessageBodyWritertype=text/plain,type=class

共有1个答案

宇文迪
2023-03-14

问题是方法的返回类型。它必须是response而不是responsebuilder

将您的代码更改为以下内容,它应该会起作用:

@POST
@Produces(MediaType.TEXT_PLAIN)
@Consumes(MediaType.APPLICATION_FORM_URLENCODED)
public Response getData(@FormParam("one") String one,@FormParam("two") String two,@FormParam("three") String three) {
    if(one.isEmpty() || two.isEmpty() || three.isEmpty()) {
        logger.error("Missing params for getData");
        throw new WebApplicationException(501);
    }
    return Response.ok();
}
 类似资料:
  • 我正在尝试使用Jersey作为框架实现一个小的REST API,原则上代码工作正常,但是当我尝试对哈希表进行“GET”时,我得到以下错误: 这是有问题的一行: 这就是我实现服务的方式: pom公司。xml(maven依赖项) 服务器端配置: 在客户端中注册杰克逊时出错: 新类别: 术语类: 有人能帮我退回地图吗?

  • 我现在正在尝试泽西,按照这个链接在netbean中设置了一个网络服务。我有我的实体类和REST类。它可以从javafx2客户端添加、编辑、删除、请求对象(在本例中是用户对象)。 然而,现在我尝试向我的网络服务添加一个新方法来进行一些简单的身份验证。首先,我在Users.java文件中添加了一个新的命名查询(Users.login): 之后,我将以下代码添加到我的UsersFacadeREST.ja

  • 我可能误解了泽西岛规范,即响应的媒体类型,当一种方法可以产生几种方法之一时。根据 https://jersey.java.net/documentation/latest/jaxrs-resources.html#d0e1785,我认为当注释中列出的两种媒体类型与传入的 标头匹配时,Jersey 将遵循注释中与这些类型关联的任何权重,或者如果权重未决定获胜者,则选择第一个权重。 下面的代码演示了这

  • 问题内容: 在尝试找出我的问题之后,我终于决定问您如何解决我的问题。我见过不同的人有相同的问题,我尝试了所有建议他们做的事情,但没有任何帮助解决我的问题。所以基本上我有一个使用Jersey进行构建的RESTful服务。对于我的客户,我想返回JSON格式的对象。我通读了不同的教程,并决定使用jersey- json-1.8库是有意义的。我像往常一样将所有内容添加到我的项目中,并尝试运行它,但是每次调

  • 我在使用JAX-RS服务作为JSON时遇到了一些问题。

  • 我正在使用Jersey构建REST服务,并希望返回一个< code >集合 但我的尝试失败了,但有以下例外: javax.ws.rs.WebApplicationException:com.sun.jersey.api。MessageException:Java类Java.util的消息体编写器。ArrayList和Java类型类Java.util。找不到ArrayList和MIME媒体类型tex