You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by Jorge Sousa <jo...@wit-software.com> on 2010/03/03 16:00:41 UTC
REST Plugin
Hi,
I'm facing some problems using this plugin, i want to handle multiple
parameters,something like the example:
http://localhost:6970/transferCredit?fromMSISDN=123456789&fromMSISDNType=coiso&toMSISDN=123456789&EuroCentsAmount=10
I checked the available examples ( available in
org.apache.struts2.rest.example) and all of them only owns a id that
fetches the parameter.
Below are the code of the example that i mencioned.
Any of you faced the same problem?
*
One more question:*
I used the name OrdersController in the class that implements my methods
and everything works fine, why did this stoped working when i changed
the name to OrdersHandlingController? I keeped the Controller at the
end, i think this should have worked.
Thanks in advance,
Jorge Sousa from Portugal
//======================================================================
Code Example:
public class OrdersController extends BaseAction implements
ModelDriven<Object>, Validateable{
private Order model = new Order();
private String id;
private Collection<Order> list;
private OrdersService ordersService = new OrdersService();
// GET /orders/1
public HttpHeaders show() {
return new DefaultHttpHeaders("show");
}
// GET /orders
public HttpHeaders index() {
list = ordersService.getAll();
return new DefaultHttpHeaders("index")
.disableCaching();
}
// GET /orders/1/edit
public String edit() {
return "edit";
}
// GET /orders/new
public String editNew() {
model = new Order();
return "editNew";
}
// GET /orders/1/deleteConfirm
public String deleteConfirm() {
return "deleteConfirm";
}
// DELETE /orders/1
public String destroy() {
ordersService.remove(id);
addActionMessage("Order removed successfully");
return "success";
}
// POST /orders
public HttpHeaders create() {
ordersService.save(model);
addActionMessage("New order created successfully");
return new DefaultHttpHeaders("success")
.setLocationId(model.getId());
}
// PUT /orders/1
public String update() {
ordersService.save(model);
addActionMessage("Order updated successfully");
return "success";
}
public void validate() {
if (model.getClientName() == null ||
model.getClientName().length() ==0) {
addFieldError("clientName", "The client name is empty");
}
}
public void setId(String id) {
if (id != null) {
this.model = ordersService.get(id);
}
this.id = id;
}
public Object getModel() {
return (list != null ? list : model);
}
}