如何在 VS Code 的 REST 客户端中输入多行字符串?

Posted

技术标签:

【中文标题】如何在 VS Code 的 REST 客户端中输入多行字符串?【英文标题】:How to enter multi-line strings in REST Client for VS Code? 【发布时间】:2022-01-21 15:22:37 【问题描述】:

编辑我存储的内容有些混乱。我正在 Express.js 和 Mongodb 中制作一个代码 sn-p 网络应用程序。我不是存储代码以便以后执行它,而是存储它,然后在 Web 应用程序上以纯文本形式显示它,并允许用户复制代码以供自己使用。我安装了一个语法高亮模块,让它看起来不错,但代码本身没有执行。

类似于 GitHub Gists。

另一个编辑如何在 Mongodb 中存储多行文本,然后在从服务器获取时,自动将其转换为使用 \n 用于换行符和 \t 用于制表符?

我正在 Express.js 中制作一个 REST API。我在 VS Code 中使用 Rest Client 扩展来测试 API。

我正在向服务器发出 post 请求以创建代码 sn-p。 sn-p 模型的字段都是字符串,但我需要一个字段来保存其中的实际代码。我尝试使用反引号和其他一些东西,但似乎无法弄清楚。

这是我的文件“api.rest”

@hostname = localhost
@port = 5000
@host = hostname:port
@contentType = application/json

# POST /users
POST http://host/snippets HTTP/1.1
Content-Type: contentType


    "title": "React Component",
    "code": "CHANGE THIS TO A MULTI-LINE javascript CODE SNIPPET",
    "creator": "nero1333"

【问题讨论】:

我不确定这是什么文件格式,但我认为每次需要换行符时输入\n 可能会起作用。但是,我真的希望您的 API 端点不会简单地执行从任何客户端发送的任何随机代码字符串 - 这是一个巨大的安全问题。 好吧,我正在 express.js 中制作一个 Web 应用程序来将代码 sn-ps 存储在 MongoDB 中。你会建议我如何存储代码?很高兴你提出这个问题,这样我就可以学习如何解决这个问题。您可以向我发送有关如何在 MongoDB 中存储代码的任何提示或示例,请告诉我 我会退后一步。为什么你认为你需要存储代码?这已经离题了,但是虽然简单地存储代码本身不会造成任何伤害,但问题是当您执行该代码时,我认为您最终会想要这样做,否则为什么存储它?并且在您的服务器上执行可能来自任何随机不受信任用户的代码是一个坏主意,原因我希望非常明显(只需回顾过去几周关于 log4j 的所有新闻,这表明当您允许这个)。 @PrestonCammarata 取决于您的用例,只要您不尝试执行用户输入的代码就可以了 没有。我没有存储代码来执行它。我正在存储将在 Web 应用程序上以纯文本形式显示的代码。它将允许您单击一个按钮来复制代码,以便您可以在其他地方使用它。这是一个简单的代码 sn-p 网络应用程序。只是以明文形式存储代码。 【参考方案1】:

您的用例非常简单。您只想将文本输入保存在数据库中,稍后再获取它以显示在客户端。

您只需以字符串形式发送代码,其中包含\n 用于新行,\t 用于制表符,\" 用于转义代码中使用的双引号。

如果您使用网页从文本编辑器获取输入,该编辑器将为您转义这些值,然后您将其发送到服务器进行存储。

例如:

您想保存评论中提到的此代码:

import React from 'react'
class className extends React.Component
    render() 
        <div></div>
    

像这样发送:


    "code": "import React from 'react'\nclass className extends React.Component\n\trender() \n\t\t<div></div>\n\t"

与您在 REST 客户端中输入它以测试 API 的方式相同。

【讨论】:

以上是关于如何在 VS Code 的 REST 客户端中输入多行字符串?的主要内容,如果未能解决你的问题,请参考以下文章

在vs code中使用ftp-sync插件实现客户端与服务器端代码的同步

在vs code中使用ftp-sync插件实现客户端与服务器端代码的同步

在 VS Code 和 TypeScript 中调试 Azure DevOps 自定义任务时如何设置输入变量

如何在 vs code 上的 jupyter 中获取输入,我尝试运行 input() 函数以从弹出文本字段中获取输入,但它进入无限循环,

为啥在vs code 中输入的汉字都变成繁体字了?

在 VS Code 中调试时如何跳过外部代码