小编Jon*_*ing的帖子

如何在 Flutter 的导航器中使用 WillPopScope?

WillPopScope的回调没有在我预期的时候被触发。我如何WillPopScope在 a 内部使用,Navigator以便路由可以处理它自己的后压行为。

我正在学习使用颤振,我遇到Navigator了创建多个页面的情况(我知道还有其他导航小部件,但我正在寻找只支持程序导航的东西,所以我可以处理所有的用户界面)。

我想看的下一件事Navigator是返回,我发现WillPopScope它包装了一个组件并有一个回调,当按下后退按钮时(如果组件被渲染)被调用。这对我来说似乎很理想,因为我只希望在呈现 Widget 时调用回调。

我尝试WillPopScope在 a 中Navigator使用,目的是仅渲染路由在onWillPop按下后退按钮时调用它的回调 ( ),但放入WillPopScopeaNavigator什么都不做(不调用回调)。

目的是Navigator导航到顶级路线,而这些路线本身可能具有Navigators,因此放入WillPopScope内部意味着每个路线(或子路线)负责它自己的后退导航。

我抬头一看很多问题似乎集中MaterialAppScaffold或处理导航等方式; 我正在寻找如何在没有这些东西带来的 UI 的情况下处理这个问题(用例可能是一个测验应用程序,你需要点击下一步按钮继续前进,或类似的东西)。

这是main.dart我希望路由 2 处理它自己的后退导航的最小文件(为了简单起见,我没有在这个例子中放置嵌套路由)。

import 'package:flutter/material.dart';

void main() => runApp(MyApp());

class MyApp extends StatelessWidget {
  // This widget is the root of your application.
  @override
  Widget build(BuildContext context) {
    return MaterialApp( …
Run Code Online (Sandbox Code Playgroud)

dart flutter

12
推荐指数
2
解决办法
2万
查看次数

如何使用 Swagger 在 API 网关上全局设置 API 密钥安全性

我正在尝试将 openapi/swagger 文件导入 api 网关,但我无法按预期获得安全设置。我想要一个所有路径都需要的 api 密钥。

导入后在控制台中设置所需的 api 密钥有效,但这种解决方案是不可取的,同样有效的是单独设置每个路径中的安全字段,但我正在寻找一个全局解决方案。

当我尝试导入文件时,我收到以下警告:

Your API was not imported due to errors in the Swagger file.

    Method 'GET' on resource '/' specified security,
    but no custom authorizers were created and the extension
    x-amazon-apigateway-auth was not set.
    This method will be not be secured. 
Run Code Online (Sandbox Code Playgroud)

如此看来,我要么需要一个 lambda 作为仅用于 api 密钥的自定义授权方(我不熟悉授权方,但如果我在设置所需的 api 密钥时不需要授权方,这似乎没有意义控制台);或者我需要对这个神秘的东西做一些x-amazon-apigateway-auth我找不到文档的事情(亚马逊在此处记录所有其他 openapi 扩展)。

一个小例子如下:

openapi: 3.0.1
info:
  title: test
  version: 0
servers:
- url: "/"
security:
  - ApiKey: …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services swagger aws-api-gateway openapi

5
推荐指数
1
解决办法
733
查看次数