package com.mlongbo.jfinal.handler;
import com.jfinal.core.JFinal;
import com.jfinal.handler.Handler;
import com.jfinal.render.RenderFactory;
import com.mlongbo.jfinal.common.bean.Code;
import com.mlongbo.jfinal.common.bean.BaseResponse;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException;
/**
* 处理404接口*
* @author malongbo
* @date 15-1-18
* @package com.pet.project
*/
public class APINotFoundHandler extends Handler {
@Override
public void handle(String target, HttpServletRequest request, HttpServletResponse response, boolean[] isHandled) {
if (!target.startsWith("/api")) {
this.nextHandler.handle(target, request, response, isHandled);
return;
}
if (JFinal.me().getAction(target, new String[1]) == null) {
isHandled[0] = true;
try {
request.setCharacterEncoding("utf-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
RenderFactory.me().getJsonRender(new BaseResponse(Code.NOT_FOUND, "resource is not found")).setContext(request, response).render();
} else {
this.nextHandler.handle(target, request, response, isHandled);
}
}
}