当accept标头为空或未知jax-rs时的内容类型
|
当accept标头为空时,返回的默认内容是什么?
当accept标头为空时,以下代码返回application / xml,该标头映射到findAll()。当accept标头为空或未知时,有没有一种方法可以强制jax-rs执行findAllAtom()。
我正在将restEasy版本2与Jboss应用程序服务器和Adbera 1.1.2一起使用
@Stateless
@Path(\"quotes\")
public class QuoteFacadeREST extends AbstractFacade<Quote> {
@PersistenceContext(unitName = \"RestFullDayTraderPU\")
private EntityManager em;
public QuoteFacadeREST() {
super(Quote.class);
}
@GET
@Override
@Produces({\"application/xml\", \"application/json\"})
public List<Quote> findAll() {
return super.findAll();
}
@GET
@Override
@Produces({\"application/atom+xml\"})
@GET
public Feed findAllAtom() throws Exception {
Factory factory = abdera.getFactory();
Feed feed = abdera.getFactory().newFeed();
feed.setId(\"tag:example.org,2007:/foo\");
feed.setTitle(\"Feed Title\");
feed.setSubtitle(\"Feed subtitle\");
feed.setUpdated(new Date());
feed.addAuthor(\"My Name\");
feed.addLink(\"http://example.com\");
feed.addLink(\"http://example.com\",\"self\");
Entry entry = feed.addEntry();
entry.setId(\"tag:example.org,2007:/foo/entries/2\");
entry.setTitle(\"Entry title 22 44\");
entry.setUpdated(new Date());
entry.setPublished(new Date());
entry.setSummary(\"Feed Summary\");
entry.setContent(\"One line content\");
return feed;
}
@Override
protected EntityManager getEntityManager() {
return em;
}
}
没有找到相关结果
已邀请:
1 个回复
为陡土
的方法,并且Accept标头表示\“ any \”,则JAX-RS框架无法选择该方法,因此根据规范,它选择第一个(请参阅JSR- 311 3.7.2) 我相信最好的解决方案是发送具有确切类型的Accept标头。 否则,您可以通过不同的URL使用不同的方法:在方法中添加add3ѭ和
。