跳到主要内容

Action

介绍​

一个类加上了 ActionController 注解表示为一个 action 类, 而在 action 类中定义的方法上添加了 ActionMethod 注解的,表示这是一个 action (即一个业务动作)。


标准的 action 是非静态的方法,访问权限建议为 private。

提示

private 访问权限可以得到 JVM 更激进的优化。

action 映射规则

  1. 业务方法上添加注解 ActionMethod。
  2. 业务方法不能是:static
  3. 业务方法需要是在 action 类中声明的方法

在 action 类中提供的业务方法通常称为 action,action 的职责是处理具体的业务逻辑

  • @ActionController 主路由 (作用在业务类上)
  • @ActionMethod 子路由(作用在业务方法上)

action 的定义​

action 是一个普通的 java 方法。

  • 方法的参数表示请求端传入的数据。
  • 方法的返回值表示服务器响应给请求端的数据。
@ActionController(1)
public class DemoAction {
@ActionMethod(0)
private HelloMessage here(HelloMessage message) {
message.name = message.name + ", here ";
return message;
}

@ActionMethod(1)
private HelloMessage say(HelloMessage message) {
message.name = message.name + ", say ";
return message;
}
}

如果只负责编写业务,那么对于业务框架的学习可以到此为止了。

可以看出网络编程就是如此简单!

业务参数​

HelloMessage 是一个数据协议,用于客户端与服务器的数据交互。

@ProtobufClass
public class HelloMessage {
public String name;
}
提示

默认情况下,数据协议使用 JProtobuf 序列化。

Action 的返回值​

action 是可以有返回值的,当 action 执行完成后,业务框架会把返回值发送到请求端。