我正在使用Jersey客户端在类级别声明@Produces批注的MediaType枚举值。
该类有5种方法,其中2种以o / p生成PLAIN_TEXT,其他3种产生APPLICATION_XML。
我已将该类声明为:
@Path(value = "/resource")
@Consumes(value = MediaType.APPLICATION_JSON)
@Produces(value = {MediaType.APPLICATION_JSON,MediaType.TEXT_PLAIN})
public class restresource {
--------
--------
}
执行此操作时,我得到的是JSON响应,但是当我必须接收纯文本响应时,则得到“ Unexpected 'S'
”。我正在使用邮递员测试api。
当我将@Produces
注释的值从@Produces(value = {MediaType.APPLICATION_JSON,MediaType.TEXT_PLAIN})
翻转到@Produces(value = {MediaType.TEXT_PLAIN,MediaType.APPLICATION_JSON})
时,它可以正常工作,并为各个方法生成纯文本和json输出。
所以我想知道是否需要在类级别的@Produces
批注中声明这些值的特定/层次结构顺序。