服务端获取前端请求数据说明
服务端可能需要在脚本中或者微服务中获取前端请求数据,请求参数需要通过不同方式来获取。下面是不同位置获取请求参数一览。
获取请求的 URL 参数
从上下文中获取请求 Query 参数,结果为一个字符串字典:
var query = ChameleonContext.Current.GetQuery();
获取请求的 Body 请求体数据
返回请求体字符串形式
var body = ChameleonContext.Current.GetBody();
获取请求体实体对象形式
内部做了 JSON 反序列化:
var body = ChameleonContext.Current.GetBody<T>();
获取请求体实体对象形式(带尝试判断)
内部做了 JSON 反序列化,带尝试判断:
var success = ChameleonContext.Current.TryGetBody<T>(out T result);
C# 脚本中获取 Body 请求体数据
C# 脚本中获取请求体,为了方便直接获取各个属性,底层对 ChameleonContext.Current.GetBody() 进一步封装,将封装后的结果传递在了脚本上下文的 Request 属性中。
使用示例
public class ChameleonCSharpScript
{
public object Execute(ComponentContext context, IChameleonDbContext dbContext, ILogger logger)
{
// 通过 context.Request 获取请求体数据
var requestData = context.Request;
// 获取具体属性值
var field1 = requestData.field1;
var field2 = requestData.field2;
return new { success = true };
}
}