restlet2.1 学习笔记(二) 分别处理Get Post Put请求
程序员文章站
2022-05-06 08:54:01
...
servlet只支持GET与POST两种请求。 但是restlet除了支持GET与POST请求外还支持Delete Put OPTIONS 等多种请求 。 第一步,编写资源类 (可以将资源类想象成Struts2的Action ,每个加上注解的方法都是一个ActionMethod) MovieResource.java package com.zf.r
servlet只支持GET与POST两种请求。
但是restlet除了支持GET与POST请求外还支持Delete Put OPTIONS 等多种请求 。
第一步,编写资源类
(可以将资源类想象成Struts2的Action ,每个加上注解的方法都是一个ActionMethod)
MovieResource.java
package com.zf.restlet.demo02.server; import org.restlet.resource.Delete; import org.restlet.resource.Get; import org.restlet.resource.Post; import org.restlet.resource.Put; import org.restlet.resource.ServerResource; /** * 以3中Method为例 * @author zhoufeng * */ public class MovieResource extends ServerResource{ @Get public String play(){ return "电影正在播放..."; } @Post public String pause(){ return "电影暂停..."; } @Put public String upload(){ return "电影正在上传..."; } @Delete public String deleteMovie(){ return "删除电影..."; } }
第二步,使用html客户端访问(html默认只支持get与post访问。所以下面演示着两种)
demo02.html
demo02
访问该html通过两个按钮可以发送不同的请求,并会有不同的返回值
第三步:使用Restlet编写客户端调用
MovieClient.java
package com.zf.restlet.demo02.client; import java.io.IOException; import org.junit.Test; import org.restlet.representation.Representation; import org.restlet.resource.ClientResource; public class MovieClient { @Test public void test01() throws IOException{ ClientResource client = new ClientResource("http://localhost:8888/"); Representation result = client.get() ; //调用get方法 System.out.println(result.getText()); } @Test public void test02() throws IOException{ ClientResource client = new ClientResource("http://localhost:8888/"); Representation result = client.post(null) ; //调用post方法 System.out.println(result.getText()); } @Test public void test03() throws IOException{ ClientResource client = new ClientResource("http://localhost:8888/"); Representation result = client.put(null) ; //调用put方法 System.out.println(result.getText()); } @Test public void test04() throws IOException{ ClientResource client = new ClientResource("http://localhost:8888/"); Representation result = client.delete() ; //调用delete方法 System.out.println(result.getText()); } }