编写RESTful代码
接下来,我们开始编写RESTful代码。步骤如下:
在File>New>Other中,选择新建一个JAVA 类文件,点finish,如下图设置:
▲
接下来,我们使用注解为程序增加RESTful的功能。JAX-RS中的一个特点是可以使用JAVA中的各种注解简便地为程序增加RESTful的功能。下面是其代码:
package jaxrs;
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
@Path("/helloworld")
public class HelloWorldResource {
@GET
@Produces("text/plain")
public String getClichedMessage() {
// Return some cliched textual content
return "Hello Android";
}
// @GET
// @Produces("text/xml")
// public String getXMLMessage() {
// return "<?xml version=\"1.0\"?>" + "<hello> Hello Android" + "</hello>";
// }
// @GET
//@Produces("text/html")
//public String getHTMLMessage() {
//return "<html> " + "<title>" + "Hello Android" + "</title>"
// + "<body><h1>" + "Hello Android" + "</body></h1>" +
"</html> ";
// }
}
import javax.ws.rs.GET;
import javax.ws.rs.Produces;
import javax.ws.rs.Path;
import javax.ws.rs.core.MediaType;
@Path("/helloworld")
public class HelloWorldResource {
@GET
@Produces("text/plain")
public String getClichedMessage() {
// Return some cliched textual content
return "Hello Android";
}
// @GET
// @Produces("text/xml")
// public String getXMLMessage() {
// return "<?xml version=\"1.0\"?>" + "<hello> Hello Android" + "</hello>";
// }
// @GET
//@Produces("text/html")
//public String getHTMLMessage() {
//return "<html> " + "<title>" + "Hello Android" + "</title>"
// + "<body><h1>" + "Hello Android" + "</body></h1>" +
"</html> ";
// }
}
首先,在这里加了注解@Path,名称为helloworld,表示凡是以/helloworld形式URL访问的请求,都会交由HelloWorldResource类来处理。为了能让程序对不同类型的MIME 类型都能处理,因此增加getClichedMessage(), getXMLMessage(), 和getHTMLMessage()方法,并且在每个方法中要添加@GET注解,以表明该方法能接受HTTP的get请求。同时通过使用@PRODUCES注解,以表示该方法产生的返回结果将以何种MIME类型返回给用户,比如
@Produces("text/xml"),则表明该方法返回的结果以XML形式返回给用户。
可以看到,上面的代码中,分别针对text/plain,text/xml,text/html三种不同的MIME类型编写了不同的方法,读者可以分别注释掉其中的一些以观察运行效果。