Skip to content

Simple

You could simply define parameters by listing all parameters in parameters list:

from alphaz.utils.api import route, api, Parameter

@route("books", parameters=["name"])
def method_name():
    return "Book name is %s or %s"%(api["name"], api.get("name",default=""))

Parameter value is accessed by api instance, using get method, they could also be accessed using get_parameters method from api instance.

Object

Or you could use the Parameter class to specify properties such as:

  • ptype: value type int, str, bool, SqlAlchemy model
  • parameter is automatically converted to the specified type
  • if conversion failed an exception is raised
  • required: the parameter is required or not
  • default: default parameter value
  • options: authorized values
  • mode: input mode
  • cacheable: parameter is taken into acount in the caching system or not
  • private: parameter is hiden from documentation or not
@route("/logs",
    parameters = [
        Parameter('page',required=True,ptype=int),
        Parameter('startDate',required=True),
        Parameter('endDate',default=None),
        Parameter('error', options=["Y","N"])
    ])
def admin_logs():
    return get_logs(**api.get_parameters())

Promote this method as it allows a better control on parameters

Default parameters

Some parameter are always available: - no_log (bool): disable logs for this route - reset_cache (bool): reset cache before calling this route - requester (str): requester to this route - format (str): output format - json: - xml: - admin (str): admin password - admin_user_id (int): id of the user to connect has an admin