小编Aar*_*jav的帖子

MongoDB Java驱动程序3.5支持POJO中的参考字段

在mongodb java驱动程序3.5版本中,添加POJO映射的 "官方支持" .

但它似乎没有提到将类映射到特定集合或将类的pojo字段存储在单独的集合中而不是嵌入它的任何内容.

鉴于:

public class Address {
    public ObjectId id;
    public String zipcode;
}

//elsewhere
public class Person {
    public ObjectId id;
    public Address address;
}
Run Code Online (Sandbox Code Playgroud)

你如何让这个插入一个Person实例实际上插入类似{id={some oid}, address={oid1}}people集合,并{id={oid1}, zip={some zipcode}}addresses收集

这会在以后的版本中出现还是我错过了一些注释或配置步骤?

java mongodb mongodb-java

8
推荐指数
0
解决办法
357
查看次数

如何在 AWS Cognito ui 中使用 nuxt 身份验证模块

我想构建一个具有静态前端(target: 'static'在 nuxt.config.js 中)和使用ktor的后端的应用程序。该应用程序需要对用户进行身份验证,但我不想自己管理密码和事物,因此我想与 AWS Cognito 集成。根据我的理解,我认为这是我想要的工作流程:

  1. 用户匿名浏览网站(无需登录)
  2. 他们执行一些需要登录或明确单击登录按钮的操作。
  3. 用户被重定向到 AWS Cognito ui 进行登录。他们可以注册新帐户、使用现有帐户登录或使用其他提供商登录(在为其配置 Cognito 之后)。
  4. Cognito ui 将用户重定向回应用程序 ui,但在查询参数中使用 JWT 令牌(我认为这就是 Cognito 的做法)
  5. JWT 令牌(s?)存储在 vuex store/nuxt auth 中
  6. 向后端发出请求时使用令牌。以及在用户通过身份验证时显示一些额外的组件/操作以及他们的基本信息,如用户名(jwt 的一部分?)

我想我已经正确设置了 cognito 和 ktor 后端,但我不知道如何开始使用前端。

  • nuxt验证模块指南说,设立中间件,但据我所知中间件仅用于服务器端渲染应用程序。
  • 我需要激活vuex 商店,但我不知道在那里放什么。auth 模块是否需要一些特定的东西,还是我只是在目录中创建一个空文件?
  • 我如何告诉它何时从查询参数重定向或读取令牌?
  • 如何解析 JWT 令牌(如果它不自动)并从中获取一些有效负载信息,例如用户名?
  • axios 模块是否会自动配置以使用它?

我在 auth 模块 repo 中发现了这个旧的 github 问题195,但我相信这是当“登录表单”/ui 是 nuxt 应用程序的一部分并且客户端在没有“重定向”的情况下使用 cognito api 时。

不幸的是,这个堆栈中的所有内容对我来说都是新的,因此感谢任何帮助。如果已经有一个项目在做类似的事情,我会查看代码并尝试弄清楚,但现在我迷路了。

2020 年 12 月 31 日更新,主要是为了让我很快就能悬赏:https …

authentication amazon-cognito nuxt.js nuxtjs

8
推荐指数
1
解决办法
1017
查看次数

如何让子项目在多项目构建中选择自己的存储库配置?

我不熟悉使用构建工具并在一般的多项目环境中工作,但我会尽力解释。

结构

这是目录结构。(实际上还有更多模块,但为了这个问题的目的,我试图保持简单)

Project vcs repo root
+---Project A/
|       build.gradle
|       settings.gradle
|
+---Project B/
|       build.gradle
|
+---Project C/
|   |   build.gradle
|   \---libs/
|   
+---Project D/
|       build.gradle
|       settings.gradle
|
+---Shared libs/
|
\---build.gradle
Run Code Online (Sandbox Code Playgroud)

项目依赖:

  • A取决于BC
  • D取决于BA

每个项目都可以从以下三个位置之一获取其依赖项:

  1. MavenCentral
  2. 一个libs目录从它自己的根目录。(下面的libs目录Project C仅供Project C使用)
  3. Shared libs 项目的父目录中的目录。

但是,不保证 libs 文件夹的内容是某种格式,(它不是包含所有 jar 的目录,可能有子目录等)

目标

我希望每个项目都可以从项目的根目录构建,并且我不想在父项目构建中保留子项目的存储库/依赖项的冗余副本。我应该只需要在父级的构建文件中提供子项目的位置和可能的版本号。

我的尝试

C/build.gradle

apply plugin: …
Run Code Online (Sandbox Code Playgroud)

gradle build.gradle

3
推荐指数
1
解决办法
1657
查看次数