jfinal如何控制controller请求方式

各位大神好。本人刚接触jfinal框架。在controller一处,查看了jfinal文档,里面没有提及关于如何定义接口url的请求方式。我想请教一下,如何限制某个controller里面的某个方法的请求方式呢?望能解答一二,不胜感谢。

评论区

HingLo

2018-06-23 16:24

通过拦截器实现,然后在controller前,使用@Before(你的拦截器.class)

ToView

2018-06-23 16:50

@HingLo 这样子,谢谢

JFinal

2018-06-24 12:04

@Before(POST.class) 以及 @Before(GET.class)

JJfinal

2018-06-25 11:33

@JFinal 简单粗暴

ToView

2018-06-25 13:49

@JFinal 十分感谢

andy.xue

2018-08-09 18:45

@JFinal 通过这种方式,当请求方式不匹配的时候,如何返回400 bad request而不是200 请求成功 但是没有数据呢?

JFinal

2018-08-09 20:39

@andy.xue 参考 GET.java POST.java 中的代码,将其中的 renderError 改成 renderError(400, ...) 即可

巨轮深港啊

2019-12-05 10:51

JFinal

2019-12-07 00:01

@巨轮深港啊 如果绝大部分 action 都只接受 GET 请求,可以将 GET 拦截器配置成全局拦截器:
public void configInterceptor(Interceptors me) {
me.add(new GET());
}

然后在极少需要 POST 请求的地方通过 @Clear 注解将其放开,例如:
@Clear(GET.class)
public void save() {
service.save(getBean(...));
renderJson();
}

这样就可以将代码量最少化

热门反馈

扫码入社