jfinal添加多级路径,失败
public void configRoute(Routes me) {
me.setMappingSuperClass(true);
me.add("oauth/2.0/token", TokenController.class);controller代码
import com.jfinal.aop.Inject;
import com.jfinal.core.Controller;
import com.uairobot.tts.client.biaobei.BiaoBeiClient;
public class TokenController extends Controller {
@Inject
private BiaoBeiClient biaoBeiClient;
public void index(String grant_type, String client_id, String client_secret) {
String accessToken = biaoBeiClient.getAccessToken(client_id, client_secret);
renderText(accessToken);
}
}但是访问是404

版本是jfinal4.2
然后用一个 Handler 做一下转换,将 String target 参数转换一下即可:
public class MyHandler extends Handler {
public void handle(String target ...) {
if (taget.startsWith("oauth/2.0/token")) {
target = target.replace("oauth/2.0/token", "oauth/20/token");
}
next.handle(...);
}
原因是 jfinal 会将带有小数点的 url 当成是静态资源,不会处理掉
上面的方案是将带小数点的 url 转成了不带小数点的,而 controller 被映射成了不带小数点的