控制器的结构分为3个部分,入参的处理,业务的执行以及出参的处理。

入参的处理的第一步,就是将请求的字节码数据反序列化为对象信息。一般有默认的框架。通过配置的方式,可以设置为能够接收多余的字段信息,而不会报错。

入参处理的第二步,就是参数的校验。手写条件语句和抛异常,是一种常见的方式。然后注解的方式加全局异常处理的方式,是一种简洁的做法,但是得注意这个整体功能的有效性。

业务处理由于涉及的业务逻辑比较复杂,所以通常抽取出独立的业务类,然后通过方法调用的方式进行处理。

出参处理,一般在控制器全局配置中,就已经处理。目前比较流行的方案就是全局返回数据,然后交给前端进行数据渲染。这种方案的有点就是,控制器的出参只涉及数据,而不涉及其它关于页面或者跳转等非业务相关的工作。整体的结构就清晰起来。