小编Pub*_*oda的帖子

NestJs/swagger:定义没有 DTO 类的引用模式

我有一个应用程序,我根据 open-api 规范将 API 响应模式定义为纯 JavaScript 对象。目前我将其传递给ApiResponse@nestjs/swagger 中的装饰器,如下所示:

class CatsController {

  @Get()
  @ApiResponse({
    status: 200,
    schema: catSchema // plain js object imported from another file
  })
  getAll() {}
}
Run Code Online (Sandbox Code Playgroud)

这很好用。但是,输出 open-api 规范包含使用catSchema. 相反,我希望输出 swagger 文件在该部分下有 catSchema components,并$ref在 paths 部分中有一个对应的。

components:
  schemas:
    Cat:
      properties:
        name:
          type: string
paths:
  /cats/{id}:
    get:
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Cat'
Run Code Online (Sandbox Code Playgroud)

到目前为止,唯一的方法似乎是将模式定义为 DTO 类并ApiProperty为每个类属性使用装饰器。就我而言,这意味着我必须将 open-api 规范中的所有普通对象模式重构为 DTO 类。

有没有办法将原始模式提供给库并获得预期的结果?

// instead of this:
class CatDto { …
Run Code Online (Sandbox Code Playgroud)

nestjs nestjs-swagger

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

如何在java中输出无符号整数的绝对值

我想分配4294967295给一个变量(2^32-1)很明显,我不能这样做Integer,并且可以做到Long.

但是,我注意到Java 8提供了无符号整数(至少某些方法).

有人知道方法Integer.parseUnsignedInt()是什么吗?当我输入"4294967295"它并打印变量时,它将输出为-1 (-2for 4294967294,-3for 4294967293等等......)

有没有一种方法可以4294967295在变量中使用?

我在这里错过了什么吗?

a=Integer.parseUnsignedInt("4294967295");
System.out.println(a);
Run Code Online (Sandbox Code Playgroud)

这给出了输出,-1但我预计4294967295.

java int unsigned java-8

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

Python 中是否有 NODE_ENV 等价物

Python 中是否有 NODE_ENV 等价物?

我想根据执行环境将JSON配置动态加载到python应用程序中。在 nodeJs 中,我通过使用 process.env.NODE_ENV 来做到这一点。

例如,

我像这样启动应用程序,

NODE_ENV=production node server.js
Run Code Online (Sandbox Code Playgroud)

并像这样在应用程序中使用变量,

if(process.env.NODE_ENV == "production") {
    // Load the production config file here (eg: database.json)
} else {
    // Load the development config file here (located in a different directory)
}
Run Code Online (Sandbox Code Playgroud)

如何在 Python 中实现相同的目标?或者我可以使用 python virtualenv 或 python setuptools 来解决吗?

python setuptools virtualenv setup.py node.js

7
推荐指数
1
解决办法
3452
查看次数

Python:导入错误:没有名为 _pluggy 的模块

ImportError: No module named _pluggy使用 pytest 运行测试时出现错误。

然后我尝试使用pip install pluggy. 它安装pluggy==0.6.0成功,但仍然给出错误。

版本列表(来自运行pip freeze | grep pytest

  • pytest==3.3.1
  • pytest-cov==2.5.1
  • pytest-元数据==1.5.0
  • pytest-runner==3.0
  • 插头==0.6.0
  • 蟒蛇 2.7.12

下面显示的是堆栈跟踪

在 virtualenv 中运行时,测试成功运行。在非 virtualenv 环境中导致此错误的可能原因是什么?

python pytest python-2.7 pytest-cov

6
推荐指数
1
解决办法
2918
查看次数

如何防止从父节点模块继承包

首先,我将给出问题的一些背景。

我正在开发一个 npm 库。在项目文件夹中,我有另一个名为“example”的文件夹,用于测试库。结构如下所示。

|- node_modules/
|- src/ 
|- example/
|   |- node_modules/
|   |- src/
|   |- package.json
|- package.json 
Run Code Online (Sandbox Code Playgroud)

根 package.json 具有依赖项babel-jest。example/package.json 具有依赖项react-scriptsreact-scripts start在示例目录中运行时,会出现以下错误,

错误截图


据我所知,这是因为 example/ 目录中的 package.json 继承了(不确定这是否正确)根 package.json 的依赖项。

也就是说,我可以使用安装在根 package.json 中的依赖项,在 example/ 的 src/ 里面,这在某些情况下很方便。但这对我的用例来说是一个障碍。

我怎样才能防止这种行为?(不改变目录结构)

谢谢你。

npm node-modules react-scripts

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

java无法处理32位数

我试图将4294967295指定为长期.即(2 ^ 32-1)java(netbeans)给出以下错误消息"整数太大"

事实上,我试图找出一个int可以处理的最大数字(手动手动完成)并发现它是2147483647(当然显然它是2 ^ 31-1)

但令人惊讶的是,我发现即使是长型也无法处理比这更大的数字.int和long之间没有任何区别吗?java doc说long是64位

我错过了什么吗?

java int types long-integer

2
推荐指数
1
解决办法
1005
查看次数