def post(rule, **options):
    """
    Maps a POST request for a controller's method.

    This method creates a variable '__rest_metainfo__' on the decorated 
    method with meta-info about the rule and options of the request mapping.
    This info will be used by @controller decorator when building the class' blueprint.

    Args:
        rule (str): The url rule that the method handles.
        options (dict): Extra options. See flask blueprint documentation 
        for learning more.

    Returns:
        The original method augmented with a '__rest_metainfo__' variable.
    """
    def method_wrapper(f):
        f.__rest_metainfo__ = {
            "rule": rule,
            "name": f.__name__,
            "options": {
                **options,
                **{"methods": [ "POST" ]}
            }
        }
        return f
    return method_wrapper