Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 导水管-如何在我的后端保存没有用户ID的客户端数据_Dart_Aqueduct - Fatal编程技术网

Dart 导水管-如何在我的后端保存没有用户ID的客户端数据

Dart 导水管-如何在我的后端保存没有用户ID的客户端数据,dart,aqueduct,Dart,Aqueduct,当我不知道用户的用户ID时,如何为用户保存数据?我想把它保存在我的渡槽后端,这样我就可以保护和查询当前的用户数据了 @Operation.post() Future<Response> addData(@Bind.body(ignore: ['id']) Data newData) async { final query = Query<Data>(context)..values = newData; final insertData = await query

当我不知道用户的用户ID时,如何为用户保存数据?我想把它保存在我的渡槽后端,这样我就可以保护和查询当前的用户数据了

@Operation.post()
Future<Response> addData(@Bind.body(ignore: ['id']) Data newData) async {
  final query = Query<Data>(context)..values = newData;
  final insertData = await query.insert();
  return Response.ok(insertData);
}
@Operation.post()
Future addData(@Bind.body(忽略:['id'])Data newData)异步{
最终查询=查询(上下文)…值=新数据;
final insertData=wait query.insert();
返回Response.ok(insertData);
}

创建新用户时,Aqueduct会自动生成用户ID。该id与用户的登录凭据或访问令牌相关联

在这里的示例中,用户在数据模型中传递了一些数据:

@Operation.post()
Future<Response> addData(@Bind.body(ignore: ['id']) Data newData) async {
  final query = Query<Data>(context)..values = newData;
  final insertData = await query.insert();
  return Response.ok(insertData);
}
所以你可以这样使用它:

final userID = request.authorization.ownerID;
@Operation.post()
Future<Response> addData(@Bind.body(ignore: ['id']) Data newData) async {

  final userID = request.authorization.ownerID;

  final query = Query<Data>(context)
    ..values.id = userId
    ..values.something = newData.something
    ..values.another = newData.another;

  final insertData = await query.insert();
  // if insert was successful then...
  return Response.ok(insertData);
}
@Operation.post()
Future addData(@Bind.body(忽略:['id'])Data newData)异步{
最终用户ID=request.authorization.ownerID;
最终查询=查询(上下文)
..values.id=用户id
…values.something=newData.something
..values.other=newData.other;
final insertData=wait query.insert();
//如果插入成功,那么。。。
返回Response.ok(insertData);
}

顺便说一句,由于您将插入的数据返回给用户,因此它将包含userId

非常感谢你的回答。。这真的很有帮助,我真的很感激。。我从一开始就有问题,无法理解
请求
语句来自何处,因此我没有考虑以这种方式获取用户id。。。您能否解释一下
request
语句来自何处?@delmin您的控制器扩展了
ResourceController
,并且
request
是该类的成员变量。