使用JSON的RESTful Web服务:PUT和DELETE无法正常工作

时间:2016-04-16 19:16:57

标签: java json web-services rest

我正在尝试在Netbeans上设置一个简单的RESTful Web服务。基本上,我有一个容器,其中组件是具有3个属性的简单订单对象:id,total和items of items。     容器上的GET和POST工作正常以及组件上的GET。什么是无效的是组件上的PUT和DELETE:我没有收到任何错误,只是没有任何反应。     由于GET正在运行,可能是客户端的错误,所以我在这里发布负责单个订单的客户端类。

match = re.findall(r"((?<=<p>)\w+?(?=</p>))", string)
# ['Hello', 'World']

编辑:这是服务器端代码:

package restclientjson;

    import javax.ws.rs.ClientErrorException;
    import javax.ws.rs.client.Client;
    import javax.ws.rs.client.WebTarget;


    public class JSONOrderClient {

        private WebTarget webTarget;
        private Client client;
        private static final String BASE_URI = "http://localhost:8080/RESTServerJSON/webresources";

        public JSONOrderClient(String id) {
            client = javax.ws.rs.client.ClientBuilder.newClient();
            String resourcePath = java.text.MessageFormat.format("orders/{0}", new Object[]{id});
            webTarget = client.target(BASE_URI).path(resourcePath);
        }

        public void setResourcePath(String id) {
            String resourcePath = java.text.MessageFormat.format("orders/{0}", new Object[]{id});
            webTarget = client.target(BASE_URI).path(resourcePath);
        }

        public void putJson(Object requestEntity) throws ClientErrorException {
            webTarget.request(javax.ws.rs.core.MediaType.TEXT_PLAIN).put(javax.ws.rs.client.Entity.entity(requestEntity, javax.ws.rs.core.MediaType.APPLICATION_JSON));
        }

        public void delete() throws ClientErrorException {
            webTarget.request().delete();
        }

        public <T> T getJson(Class<T> responseType) throws ClientErrorException {
            WebTarget resource = webTarget;
            return resource.request(javax.ws.rs.core.MediaType.APPLICATION_JSON).get(responseType);
        }

        public void close() {
            client.close();
        }

    }

1 个答案:

答案 0 :(得分:0)

在Java中,大多数Web框架使用多个Servlet来处理请求,通常在处理请求后立即丢弃servlet。

您可能需要将项目Map放入不同的上下文中,例如Application上下文,它在应用程序的整个生命周期中都是持久的。