From Documentation

Under REST (Representational State Transfer) architectural pattern, the operations are usually based on HTTP methods. It can be done straightforwardly in ZEST by use of EL expressions.

For example, we could implement a method to return the method's name to execute based on HTTP methods as follows.

//Extract from zest-samples.war
public class RESTfulAction {
	public String get() { //the get operation
	public String add() { //the add operation
	public String delete() { //the delete operation
	public String modify() { //the modify operation

	/** Converts HTTP methods to this action's method. */
	public static String toMethodName(String requestMethod) {
		requestMethod = _methods.get(requestMethod.toLowerCase());
		return requestMethod != null ? requestMethod: "get";
	private static final Map<String, String> _methods = new HashMap<String, String>();
	static {
		_methods.put("delete", "delete");
		_methods.put("post", "add");
		_methods.put("put", "modify");

Then, we map the HTTP method to action's method in WEB-INF/zest.xml:

	<xel-method prefix="c" name="toMethodName"
		signature="java.lang.String toMethodName(java.lang.String)"/>
	<action path="/rest" method="${c:toMethodName(request.method)}"

where the xel-method element is used to declare a static method as an EL function (toMethodName in the above example).

Version History

Last Update : 2022/01/18

Version Date Content

Copyright © Potix Corporation. This article is licensed under GNU Free Documentation License.