我有两个get API,它们具有相同的请求、路径和响应,其中一个已经存在,另一个是新创建的。
@GET
@Path("/{id}/export")
public Response exportVersion1(@PathParam("id") String id, @QueryParam("format") final String format)
@GET
@Path("/{id}/export")
@Consumes({"application/vnd.com.abc.v2+json"})
public Response exportVersion2(@PathParam("id") String id, @QueryParam("format") final String format)
在给定内容类型为application/vnd.com.abc.v2+json时,我可以调用第二个API,但如果没有给定内容类型,那么也会调用第二种。
我想将第一个作为默认设置,不想更改/添加到它,因为它绑定到客户端使用的UI。我只能对第二个API进行修改,请给出任何建议。
您可以设置默认的内容类型。对于弹簧5,这将是:
public void configureContentNegotiation(ContentNegotiationConfigurer configurer) {
configurer.defaultContentType(MediaType.TEXT_PLAIN);
}