java restful web服务说明

时间:2013-11-24 15:17:13

标签: java json web-services http rest

我是Java Web服务的新手。我写了以下代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;

public class Main {

  public static void main(String[] args) {
    try {
      URL url = new URL("www.somehost.com/somedata");
      HttpURLConnection conn = (HttpURLConnection) url.openConnection();
      conn.setRequestMethod("GET");
      conn.setRequestProperty("Accept", "application/json");

      if (conn.getResponseCode() != 200) {
        throw new RuntimeException("Failed: HTTP error code: " + conn.getResponseCode());
      }
      BufferedReader br = new BufferedReader(new InputStreamReader(
          conn.getInputStream()
      ));
      String output;
      while ((output = br.readLine()) != null) {
        System.out.println(output);
      }
      conn.disconnect();
    } catch (IOException e) {
      e.printStackTrace();
    }

  }

}

我的任务是创建一个从“某个URL”以JSON格式返回数据的Web服务。我想创建一个RESTful Web服务,但我没有意识到如何修改代码以将其作为Web服务提供。任何人都可以解释/展示我还应该做些什么吗?

2 个答案:

答案 0 :(得分:1)

这是泽西岛资源示例:

@Path("rest/heartbeat")
public class HeartbeatResource {

    @GET
    @Produces(MediaType.APPLICATION_XML)
    public Response heartbeatGet() {
        return Response.status(Status.OK).type(MediaType.APPLICATION_XML)
                .entity(new Messages("I am alive!")).build();
    }
}

进行一些研究并选择一个可靠的REST框架,如果它恰好是Jersey,那么你可以在https://jersey.java.net/找到所需的学习文档

答案 1 :(得分:1)

我更喜欢Apace Wink开发RESTful服务..它使您能够根据需要调整API。 http://wink.apache.org/