Java 在RESTfulWeb服务中将对象作为对象传递

Java 在RESTfulWeb服务中将对象作为对象传递,java,web-services,rest,jaxb,restful-authentication,Java,Web Services,Rest,Jaxb,Restful Authentication,我正在成功地创建一个具有简单类型的简单RESTful web服务。现在,我想传递一个对象作为web服务的参数,并获取该对象作为响应。我的场景是,使用Jaxb将XML消息解析为对象,并将对象作为web服务请求发送。然后在服务器端处理请求的对象,生成响应xml文件并将其作为对象发回 在我给出的URL路径中 "http://localhost:8080/SampleWS/rest/checkXML/username=visolve&password=visolve" 对于简单类型。但在o

我正在成功地创建一个具有简单类型的简单RESTful web服务。现在,我想传递一个对象作为web服务的参数,并获取该对象作为响应。我的场景是,使用Jaxb将XML消息解析为对象,并将对象作为web服务请求发送。然后在服务器端处理请求的对象,生成响应xml文件并将其作为对象发回

在我给出的URL路径中

 "http://localhost:8080/SampleWS/rest/checkXML/username=visolve&password=visolve" 
对于简单类型。但在object中,我不知道如何在URL中提供对象引用。请帮我解决我的问题

Regards

Bathakarai

虽然您可以在URL中包含整个XML内容,但我可能会避开它

可以这样想:如果在URL中对XML进行编码,则可能会在两端添加更多工作。现在,服务器和客户机都需要知道如何正确构建URL,并进行检查以确保所有内容都正确对齐。如果将来需要提供相同内容的JSON或YAML视图,该怎么办?现在,您的URL可能还需要包含内容类型。那么字符编码呢

总而言之,HTTP提供了一种极好的传输机制,已经解决了这些问题。将XML包含为HTTP消息的实体体,并使用HTTP头来标识要发送的内容类型、字符编码等。这将以两种方式工作(服务器和客户端都可以来回发送XML),并更好地利用HTTP

一个可能有助于了解某些细节的相关链接。和


请注意,请告诉我,您不打算通过未加密的链接以纯文本发送用户凭据。

只需定义一个非常好看的域对象即可。JAXB和JAX-RS将完成其余的工作

JAXB

@XmlRootElement
阶级问候{
@XmlElement
私人长诚;
}
JAX-RS

@使用({MediaType.APPLICATION\uxml,MediaType.APPLICATION\ujson})
@职位
@路径(“/真诚”)
@产生({MediaType.APPLICATION_XML,MediaType.APPLICATION_JSON})
公众真诚回应(最后的问候){
关于.setSincere(System.currentTimeMillis());
返回Response.ok(关于).build();
}

我不确定它解决了什么问题。为什么不在调用web服务之前将对象封送到xml,并在另一端将xml转换为对象呢。许多框架都内置了这样的功能。如果您不想转换为对象,可以直接使用xml。此外,url中的任何参数都只是键值对,http将无法理解其是否为您的对象引用。