我正在使用Jersey 2.0通过JAX-RS客户机调用rest请求
User request = new User("1","ABC");
webTarget = client.target(strRestURL).path("Users");
Invocation.Builder invocationBuilder = webTarget.request(MediaType.APPLICATION_XML);
Response setUserResponse = invocationBuilder.post(Entity.entity(request, MediaType.APPLICATION_XML));
String resp = setUserResponse.readEntity(String.class);
客户端的模型类如下:
import java.io.Serializable;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "request")
public class User {
private static final long serialVersionUID = 1L;
private String id;
private String Name;
public String getId() {
return id;
}
public void setId(String id) {
this.id= id;
}
public String getName() {
return Name;
}
public void setName(String name) {
this.Name= name;
}
}
Rest WS实现是:
@POST
@Path("/User")
@Consumes({MediaType.APPLICATION_XML})
@Produces({MediaType.APPLICATION_XML})
public HSServiceResponse setUsers(final User model, @Context HttpServletRequest request) throws IllegalArgumentException, IllegalAccessException {
import java.io.Serializable;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement(name = "request")
@XmlAccessorType(XmlAccessType.NONE)
public class User {
private static final long serialVersionUID = 1L;
@XmlElement
private String id;
@XmlElement
private String Name;
public String getId() {
return id;
}
public void setId(String id) {
this.id= id;
}
public String getName() {
return Name;
}
public void setName(String name) {
this.Name= name;
}
}
使用@XmlElement
批注的name
属性。
class UserServer {
@XmlElement(name="Name")
private String name;
}
这使您可以更改XML元素名,而不必在Java代码中使用时髦的变量名。
对于客户端的user
,XML元素的名称由Java bean属性获得,该属性是getname
,删除了get
并将第一个字母用小写表示。这正是JavaBean约定的工作方式。如果要更改这一点,则应在getName()
方法上添加@XmlElement(Name=“name”)
class UserClient {
@XmlElement(name="Name")
public String getName() {
return this.name;
}
}
我有这个quarkus rest API: api工作得很好,但是如果我将此值传递给方法,rest客户端将其编码为'USSU%25OS':
我正在使用Perl的REST::Client发出多部分POST请求: REST API 如下所示: 当我运行脚本时,出现以下错误: 解析多部分servlet请求失败;嵌套异常java.io.IOException:org.apache.tomcat.util.http.fileupload.FileUploadException:请求被拒绝,因为没有找到多部分边界] 我是perl新手,语法或其他方
我正在尝试创建RESTful web服务,但无法使删除生效,我不确定问题在哪里。我认为问题在客户端项目中,但也可能在服务器项目的资源类中。 我有一个使用这种方法的学生道课,我不认为这是一个问题,因为它适用于其他项目。 我有一个StudentResource类,它是我从包含这段代码的模式中创建的RESTful资源 然后,我创建了一个java项目,并使用此方法创建了名为OneStudent的RESTf
问题内容: 有了JSR 311及其实现,我们有了一个强大的标准,可以通过REST公开Java对象。但是,在客户端,似乎缺少与SOAP的Apache Axis类似的东西-隐藏了Web服务并将数据透明地封送回Java对象的东西。 您如何创建Java RESTful客户端?使用HTTPConnection和手动解析结果?还是专业客户(例如Jersey或Apache CXR)? 问题答案: 这是一个古老的
我想在Spring WebClient请求链接中发送链接请求参数。例如: https://www.test.com/notification?con=41280440000097 我尝试了以下代码: 但是当我试图设置映射时,我在标记
我注意到Rest客户端上有两个指南:MicroProfile和Vertx。既然微文件支持异步,那么使用基于Vertx的Rest客户端有什么好处?