我的问题涉及在操作中创建自定义方法。我正在使用 Struts2 和 REST 插件来实现 RESTful WebService。我的动作类如下:
public class SampleController implements ModelDriven<Object> {
private Sample sample = new Sample();
private Collection<Sample> list;
private int id;
public HttpHeaders create() {
sdao.save(sample);
return new DefaultHttpHeaders("create");
}
public HttpHeaders destroy() {
return new DefaultHttpHeaders("destroy");
}
public HttpHeaders show() {
return new DefaultHttpHeaders("show").disableCaching();
}
public HttpHeaders update() {
sdao.save(sample);
return new DefaultHttpHeaders("update");
}
public HttpHeaders index() {
list = sdao.findAll();
return new DefaultHttpHeaders("index").disableCaching();
}
public Object getModel() {
return (list != null ? list : sample);
}
public int getId() {
return id;
}
public void setId(Integer id) {
if (id != null) {
this.sample = (Sample) sdao.findById(id);
}
this.id = id;
}
}
GET
我可以通过HTTP 方法正确访问资源。为了使用自定义方法,通过传递参数来调用搜索资源,即
public searchBySenderName(String senderName) {
list.addAll(sdao.findBySenderName(senderName))
}
正确的程序是什么?如何通过GET
以下 URL 调用它?