package cc.smtweb.framework.core.mvc.controller;

import javax.servlet.http.HttpServletRequest;
import java.util.Map;

/**
 * API参数解析器接口
 *
 * @author xkliu
 */
public interface IEditor {
    String USER_SESSION = "_SW_USER_SESSION";
    String USER_TOKEN = "_SW_TOKEN";
    String BODY_MAP = "_SW_BODY_MAP";
//  String BODY_BEAN = "_SW_BODY_BEAN";

    /**
     * 根据请求参数转为函数参数定义的类型的值
     *
     * @param paramName 参数名
     * @param paramType 参数类型
     * @param context   全局bean对象上下文
     * @param params    URL请求参数(query)
     * @param body      POST内容
     * @param request   http请求
     * @return 转化后的值
     */
    Object getParamValue(String paramName, Class<?> paramType, IBeanContext context, Map<String, Object> params, String body, HttpServletRequest request);
}
