首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Jax-rs如何处理带有自定义对象参数的POST请求(以编程方式而不是WebBrowser)

Jax-rs如何处理带有自定义对象参数的POST请求(以编程方式而不是WebBrowser)
EN

Stack Overflow用户
提问于 2017-07-25 11:45:26
回答 1查看 491关注 0票数 0

这是我的自定义类:

代码语言:javascript
复制
@XmlRootElement
class Request{
    private String name;
    private String age;

    public Request(){

    }

    public Request(String name, String age) {
        this.name = name;
        this.age = age;
    }

    public String getName() {
        return this.name;
    }

}

这是我的服务:

代码语言:javascript
复制
@PATH("/webapp/")
class RestService{

    @POST
    @Produces(MediaType.APPLICATION_XML)
    @PATH("getNameFromRequest")
    public String getNameFromRequest(@FormPara Request request) {
        System.out.println(request.getName())  //Here request.getName() is null !!!
        return request.getName();
    }
}

这就是我如何使用JAXRSClientFactory创建的客户端服务以编程方式进行restful调用

代码语言:javascript
复制
RestService service = JAXRSClientFactory.create("http://test:8080", RestService.class);

service.getNameFromRequest(new Request("Rachel","23"))

但是,似乎根本没有将“瑞秋”传递到请求中。

如果我使用Web-browser来请求,名称将被设置为:

http://test:8080/webapp?name=Rachel

有人能帮我解释一下为什么我不能以编程方式进行restful调用吗?

EN

回答 1

Stack Overflow用户

发布于 2017-07-25 14:22:43

你的服务应该有@Consumes注解

像这样

代码语言:javascript
复制
@PATH("/webapp/")
class RestService{
@POST
@Consumens(MediaType.APPLICATION_XML)
@Produces(MediaType.APPLICATION_XML)
@PATH("getNameFromRequest")
public String getNameFromRequest(JAXBElement<Request> request) {
    System.out.println(request.getName()) ; 
    return request.getName();
}

}

此服务的路径将为http://<hostname or ip adderss:8080 if default configuration >/<your app root folder name or root path>/webapp/getNameFromRequest

客户端代码将如下所示

代码语言:javascript
复制
Request request = new Request("Rachel","23");


webTarget.path("webapp/getNameFormRequest").post(new JAXBElement<Request>(new QName("Request"), Request.class, request));

然后它就能工作了

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45293560

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档