restlet中resource类处理请求的两种写法说明
restlet中resource类处理请求有两种方法:
一种是在该方法上加一个请求标记,比如"@get"、"@post"、"@put"、"delete"等,他们表示该资源分别处理get、post、put、delete请求,至于你写的方法名倒无所谓;
第二种方法是把该方法写成形如 public Representation get()、public Representation post()、public Representation put()、public Representation delete()等,他们的方法名就标识了该资源分别处理get、post、put、delete请求,而无需再加上"@get"之类的标记。但要说明的是,你写的方法的返回类型必须是Representation类或其子类。比如,对于“public Representation get()”方法,如果你返回的是字符串,也可以写成这样“public StringRepresentation get()”。
具体示例参照如下:
1.写一个资源处理类:
FirstServerResource.java:
(1).第一种写法:
package test;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
//定义一个资源
public class FirstServerResource extends ServerResource {
@Get//标记处理get请求
public String returnHello() {
return "Hello World !";
}
}
(2).第二种写法:
package test;
import org.restlet.representation.Representation;
import org.restlet.representation.StringRepresentation;
import org.restlet.resource.ServerResource;
//定义一个资源
public class FirstServerResource extends ServerResource {
//方法名get()标记了其处理get请求
public Representation get(){
StringRepresentation str = new StringRepresentation("hello world");
return str;
}
}
对于(2)也可以写成写成:
package test;
import org.restlet.representation.StringRepresentation;
import org.restlet.resource.ServerResource;
//定义一个资源
public class FirstServerResource extends ServerResource {
方法名get()标记了其处理get请求
public StringRepresentation get(){
StringRepresentation str = new StringRepresentation("hello world");
return str;
}
}
2.编写测试代码,此处省略
restlet中对于各种请求的写法就这两种,是不是很简单,这也是restlet的一大魅力所在。