使用Request与Response

Request

Request 对象保存了路由请求的所有信息,您可以通过对象的公有方法获取到这些信息。

// 路由绑定的Context,如果路由从Fragment启动时则为Fragment关联的Context
public Context context();

// 路由绑定的Fragment,仅当路由从Fragment启动时返回结果
public Fragment fragment();

// 路由创建时的时间戳
public long startRequestMoment();

// 启动Activity时传入的activityOptions
public ActivityOptionsCompat activityOptionsCompat();

// 路由启动Activity时是否指定以startActivityForResult的方式启动
public boolean startActivityForResult();

// 启动startActivityForResult时传入的requestCode
public int requestCode();

// 启动Activity时设置的进入动画
public int activityEnterAnim();

// 启动Activity时设置的退出动画
public int activityExitAnim();

// 启动Activity时是否设置了callback的方式接收startActivityForResult的结果
public boolean startActivityWithCallback();

// 用于接收startActivityForResult结果的callback
public ActivityResultCallback activityResultCallback();

// 获取Fragment时用于接收Fragment实例的callback
public NewInstanceCallback newInstanceCallback();

// 启动Activity时设置的activityFlags
public int activityFlags();

// 是否为异步执行
public boolean isAsync();

// 路由的url
public PortalUrl url();

// 路由设置的参数
public Bundle params();

// 设置路由请求最终的目的地
public void setDestination(Destination destination);

// 获取路由请求解析后的目的地
public Destination destination();

// 路由请求设置的拦截器列表
public List<Interceptor> interceptors();

如果需要构建一个请求,可以通过 Request.create() 来设置这些字段并创建请求。

Request.create(context).build();

Response

Response用于表示一次路由执行的结果,Response包含了 launch 返回的数据以及错误信息。

// Response包含的错误信息
public String message();

// Response包含的返回结果
public Bundle data();

// Response的状态码
public int status();

状态码指示了请求是否被正确处理

// 路由成功
public static final int STATUS_SUCCESS = 200;

// 路由重定向
public static final int STATUS_REDIRECT = 301;

// 未找到路由目标
public static final int STATUS_PAGE_NOT_FOUND = 404;

// 没有能够处理路由目标的Launcher
public static final int STATUS_LAUNCHER_NOT_FOUND = 401;

// 路由过程被拦截器终止
public static final int STATUS_INTERCEPT = 402;

// 路由请求不正确
public static final int STATUS_REQUEST_ERROR = 400;

// 路由内部逻辑错误
public static final int STATUS_INTERNAL_ERROR = 500;

同Request一样,Response也可以通过 Response.create() 来进行创建。

Response.create(Response.STATUS_SUCCESS).build();
Copyright © 2013-2023 Tencent Cloud. all right reserved,powered by GitbookUpdate Time 2023-08-31 14:46:07

results matching ""

    No results matching ""