标签: loopback4

如何使用自定义错误消息进行 OpenAPI 组件验证?

我使用 OpenAPI 3.0.1,并使用具有类型/值验证的组件。(即类型/枚举/范围)。

当我使用错误的类型/值访问相关路径时,我会收到一条人类无法阅读的默认消息,例如:

"message": "request body has an error: doesn't match the schema: Error at <fieldName>: Doesn't match schema \"oneOf\"".
Run Code Online (Sandbox Code Playgroud)

相反,我想为每个组件创建自定义错误消息,即:

invalid argument: <fieldName>.
Run Code Online (Sandbox Code Playgroud)

loopback go openapi loopback4

5
推荐指数
0
解决办法
2501
查看次数

Loopback 4 提取 POST 请求的原始正文

为了进行散列和验证,application/json需要 post 请求的原始主体(无需解析)。Loopback 4 是否提供了任何方法?Request.body被解析为 json。

loopback4

4
推荐指数
1
解决办法
885
查看次数

Loopback 4 中间件未注册

在这里按照这个示例进行简单的日志记录中间件设置。但我似乎无法让它记录我的请求信息。当我点击 时,我得到了标准响应/ping,但没有任何内容被注销到控制台。

我尝试在两个不同的位置注册中间件。index.tsapplication.ts

// src/middleware/log.middleware.ts

import { Next } from '@loopback/core'
import { Middleware, MiddlewareContext } from '@loopback/rest'

export const testLoggingMiddleware: Middleware = async (
  middlewareCtx: MiddlewareContext,
  next: Next,
) => {
  const { request } = middlewareCtx
  console.log('Request: %s %s', request.method, request.originalUrl)
  try {
    // Proceed with next middleware
    await next()
    // Process response
    console.log('Response received for %s %s', request.method, request.originalUrl)
  } catch (err) {
    // Catch errors from downstream middleware …
Run Code Online (Sandbox Code Playgroud)

node.js typescript loopbackjs loopback4

4
推荐指数
1
解决办法
1631
查看次数

如何在环回 4.0 中使用存储组件?

我在环回 3.0 中使用存储组件来访问云存储。但我需要如何在环回 4.0 中实现。下面的链接使其在 3.0 中采样。

https://github.com/strongloop/loopback-example-storage

loopback typescript loopback4

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

是否建议发布 TypeScript 节点模块的源文件?

我注意到一些 TypeScript 节点模块(例如loopback-next/packages)使用节点模块发布它们的源文件。这是否有特殊原因,还是只是不必要地增加了模块的大小?

node-modules typescript loopbackjs loopback4

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

在我的前端和后端之间创建一个 webhook

因此,根据我对 webhook 的理解,我不断查找“如何从我的 API 创建 webhook”,但结果不断告诉我如何从不同站点添加 webhook(来自 GitHub)。我不确定这是否可行,但目前,我的 React Native 应用程序每分钟都会轮询我的 Node JS 后端以获取信息。相反,我希望我的 Node js 后端检测特定用户数据库中的更改,然后将更新的信息发送给我的 React Native 应用程序用户。这是否可能,是否有人有任何指导或方向,甚至是链接,因为我在网上找到的所有信息都不是我想要的?是否有任何第三方应用程序可以在此过程中提供帮助?我具体需要做什么?

postgresql node.js express react-native loopback4

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

Loopback 4 身份验证登录控制器问题

我正在尝试向我的应用程序添加身份验证。有两种模型,分别称为用户和用户凭证。用户拥有一个用户凭证。

对用户的发布请求工作正常。密码存储在用户凭证模型(散列)中,其他字段存储在用户模型中。

但是当我发出登录请求时,我收到以下错误

POST /users/login 中未处理的错误:500 TypeError:this.userRepository.findCredentials 不是 MyUserService.verifyCredentials 中的函数(D:\ionic-pr\loopback-projects\no\node_modules@loopback\authentication-jwt\src\services \user.service.ts:38:56) 在 process._tickCallback (内部/process/next_tick.js:68:7)

节点模块中的authentication-jwt内的用户服务抛出错误。

我不明白出了什么问题。

先感谢您

编辑: 现在我已经制作了两个控制器。第一个使发布请求工作正常。第二个执行登录如下

进口-

import {TokenService} from '@loopback/authentication';
import {Credentials, MyUserService, TokenServiceBindings, UserRepository, UserServiceBindings} from "@loopback/authentication-jwt";
import {inject} from '@loopback/core';
import {repository} from '@loopback/repository';
import {post, requestBody} from '@loopback/rest';
import {SecurityBindings, UserProfile} from '@loopback/security';
Run Code Online (Sandbox Code Playgroud)

构造函数 -

constructor(
    @inject(TokenServiceBindings.TOKEN_SERVICE)
    public jwtService: TokenService,
    @inject(UserServiceBindings.USER_SERVICE)
    public userService: MyUserService,
    @inject(SecurityBindings.USER, {optional: true})
    public user: UserProfile,
    @repository(UserRepository) protected userRepository: UserRepository,
  )
Run Code Online (Sandbox Code Playgroud)

loopback4

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

如何使用环回 4 隐藏一条路由的 open-api 规范

Loopback 4 中是否有一种方法可以使用@get()装饰器(或任何其他装饰器),传递路径但不生成该路由的开放 api 规范?
通过传递特殊参数/使用@operation或其他什么?
谢谢。

loopback node.js typescript openapi loopback4

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

这是什么意思?500 错误:架构无效:data.$ref 应匹配格式“uri-reference”

使用 lb4 生成器创建模型、存储库和控制器。

向模型添加新字段时,我的 POST 将开始失败并出现以下错误: 500 Error: schema is invalid: data.$ref should match format "uri-reference"

该错误太模糊了,我对它所要求的内容的参考为零。

比较以下情况时验证失败:

$schema = http://json-schema.org/draft-07/schema

$ref = #/components/schemas/新用户

编辑:显然,如果您向控制器添加标题选项,它不知道如何处理自己

loopbackjs loopback4

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

Loopback POST 条目数组?

我想用一个查询针对 10 个查询插入 10 个条目。

我读到可以通过发送这样的数组来做到这一点: 在此输入图像描述

但我收到这个错误: 在此输入图像描述

我需要设置一些东西吗?我根本不知道该怎么办。

带有示例的仓库:https://github.com/mathias22osterhagen22/loopback-array-post-sample

编辑:people-model.ts:

import {Entity, model, property} from '@loopback/repository';

@model()
export class People extends Entity {
  @property({
    type: 'number',
    id: true,
    generated: true,
  })
  id?: number;

  @property({
    type: 'string',
    required: true,
  })
  name: string;


  constructor(data?: Partial<People>) {
    super(data);
  }
}

export interface PeopleRelations {
  // describe navigational properties here
}

export type PeopleWithRelations = People & PeopleRelations;

Run Code Online (Sandbox Code Playgroud)

post loopbackjs loopback4

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