import * as Yup from 'yup';
import User from '../models/User';
class UserController {
async store(req, res) {
const schema = Yup.object().shape({
name: Yup.string().required(),
email: Yup.string()
.email()
.required(),
password: Yup.string()
.required()
.min(6),
});
if (!(await schema.isValid(req.body))) {
return res.status(400).json({ error: 'Validation fails' });
}
const userExists = await User.findOne({ where: { email: req.body.email } });
if (userExists) {
return res.status(400).json({ error: 'User already exists.' });
}
const { id, name, email, provider } = await User.create(req.body);
return res.json({ id, name, email, …Run Code Online (Sandbox Code Playgroud) 我将自己的证书添加到 Node.js Express 服务器以进行测试。然后我尝试联系 Insomnia 的帖子,但收到一条错误消息。
Error: SSL peer certificate or SSH remote key was not OK
服务器代码:
const express = require('express');
const path = require('path');
const fs = require("fs");
var https = require('https');
var privateKey = fs.readFileSync('cert/server.key');
var certificate = fs.readFileSync('cert/server.crt');
var credentials = {key: privateKey, cert: certificate};
const app = express()
const port = 8000
// app.use(express.urlencoded());
app.use(express.json());
// Routes
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, './public/index.html'));
})
app.post('/signin', (req, res) => {
console.log(req.body.username);
methods.signin();
res.end();
})
app.use(express.static('public')) …Run Code Online (Sandbox Code Playgroud) 通常,当在环境中创建 BaseUrl 或定义请求 url 来测试 API 时,开发人员最终会忘记并放置 Https:// 而不是放置 Http://进行本地测试。所以出现SSL连接错误,只需设置为http并测试即可。
我使用 Strapi 创建了一个 API,到目前为止一切正常。A 有一个“活动”和一个“展位”集合,我设置了一些东西以便在活动中拥有多个展位。
我曾经尝试Insomnia使用 API 并获取数据,当我获取事件时,我对其中的关系没有任何线索。
到处人都说关系应该出现在这里,所以,如果您有任何想法,谢谢。
TL; DR
我如何可以设置Content-Type每个标题单独文件/输入/文本中multipart/form-data(在失眠)的要求?
我正在尝试使用Insomnia Rest Client POST到OneNote API(HTTP描述).根据文档,我需要提交一个multipart/form-data带有标题的文件/文本的请求:
Content-Type: text/html
Content-Disposition: form-data; name=presentation
另一个带标题:
Content-Type: application/inkml+xml
Content-Disposition: form-data; name=presentation-onenote-inkml
这是我正在尝试的截图:
如您所见,API返回错误,No Content-Type导致我认为Content-Type未设置标头.调试信息如下:
POST数据被隐藏,这使我无法看到Content-Type.
我正在尝试使用 OAuth2 和授权类型客户端凭据调用授权端点 - 我的调用成功 - 这不是问题。但是,我现在想要获取返回的访问令牌并将其放入变量中,以便我可以在后续调用中使用它,而无需手动剪切并粘贴到我的其他调用中。
当调用返回时,我在 OAuth2 窗口底部的访问令牌字段中看到了我想要复制的令牌(下面显示的那个表示在 42 分钟后过期)并且我在时间轴选项卡上的授权字段中看到它结果。我只是不知道如何访问它,所以我可以将它转储到变量中。
我在同时发布二进制数据和常规数据时遇到问题。
我如何用 Insomnia 测试它?Insomnia 仅提供 URL 编码的数据和二进制文件的文件。我不能同时发送两个。
一个请求同时上传数据和二进制文件应该怎么做?
我能否获得一些有关如何通过在规定的时间范围内发送多个 POST API 调用来执行负载测试的指导 n Insomnia。为了实现这一点,我必须在 for 循环中 POST API 调用,在 5 秒内从 0 到 500。我可以做什么来实现这个目标?
我正在使用Insomnia来测试API,但Postman也是如此.
我想用以下控制器测试文件上传:
public async Task<IActionResult> Post([FromForm]IFormFile File)
Run Code Online (Sandbox Code Playgroud)
如果我将请求设置为多部分请求:
有用.
但是,如果我将其设置为二进制文件:
我不知道如何获取数据.怎么做到呢?
另外,在控制器方法的签名中,如果我将[FromForm]更改为[FromBody],我就不会获取数据.
有人可以为我澄清一下吗?
您好,我没有任何代码可以显示,但我只是想知道如何在 Insomnia 的 get 请求中设置参数。基本上是 url 中的参数,例如 /test/:id,其中 id 是参数。
我知道您可以添加查询,但这不是我想要的。
如果您需要我提供更多信息,请告诉我。
insomnia ×10
node.js ×5
rest ×3
api ×2
asp.net-core ×1
backend ×1
binary ×1
express ×1
file ×1
file-upload ×1
frontend ×1
onenote-api ×1
postman ×1
reactjs ×1
rest-client ×1
schema ×1
ssl ×1
strapi ×1
yup ×1