Jersey - 在POST上使用XML和HTML

cra*_*aig 1 html xml rest jax-rs jersey

我想为我的RESTful Web服务提供灵活的身份验证方法 - 通过HTML表单或XML.我意识到我可以从HTML表单进行AJAX调用,但我认为一个更简单的机制会很有用(特别是在开发过程中).

如果我用@Consumes("application/xml","application/x-www-form-urlencoded")注释我的SessionResource.createSession()方法,它将接受这两种类型的内容.困难的部分是区分XML流和HTML.

任何指导或想法将不胜感激.

Ale*_*ins 6

为什么不这样做:

@...
class SessionResource{

 @POST
 @Consumes("application/xml")
 public void createSessionFromHTML(String message){
   ...
 }

 @POST
 @Consumes("application/x-www-form-urlencoded")
 public void createSessionFromXML(String message){
   ...
 }
}
Run Code Online (Sandbox Code Playgroud)

如果这不能解决您的问题,请查看@ QueryParam,@ HeaderParam@FormParam.

概述也可能对您有所帮助.