创建Handler

public class DemoHandler implements MagicianHandler<MagicianRequest> {

    @Override
    public void request(MagicianRequest magicianRequest) {

        // 这样可以获取到单个请求头
        String head = magicianRequest.getRequestHeader("请求头name");、

        // 这样可以获取到全部的请求头
        HttpHeaders headers = magicianRequest.getRequestHeaders();

        // 如果是json格式提交的,就用这个方法获取json字符串
        String jsonStr = magicianRequest.getJsonParam();

        /* *********如果是其他方式提交的,就用这个方法获取参数********* */
        String list = magicianRequest.getParam("参数的name");

        /* *********如果是文件上传就用这个方法获取文件们********* */
        Map<String, MagicianFileUpLoad> fileUpLoadMap = magicianRequest.getFiles();
        // 可以这样获取到文件
        MagicianFileUpLoad magicianFileUpLoad = fileUpLoadMap.get("参数的name");
        magicianFileUpLoad.getFileName();// 文件名
        magicianFileUpLoad.getInputStream(); // 文件流
        magicianFileUpLoad.getName();// 参数的name

        // 设置响应数据
        magicianRequest.getResponse().sendText(200, "ok");
    }
}

响应数据有这么几种方式

// 响应纯文本
magicianRequest.getResponse().sendText(200, "ok"); 
// 响应html格式的文本
magicianRequest.getResponse().sendHtml(200, "ok");
// 响应json格式的文本
magicianRequest.getResponse().sendJson(200, "ok"); 
// 响应其他格式的文本,需要自己在响应头里设置content-type
magicianRequest.getResponse().sendData(200, "ok");
// 响应二进制流
magicianRequest.getResponse().sendStream("文件名", 传入一个byte数组); 
// 响应输入流
magicianRequest.getResponse().sendStream("文件名", 传入一个InputStream);

results matching ""

    No results matching ""