>本教程演示了使用轻巧的DENO路由库Deno和Reno建立微服务。我们将与数据库创建微服务交互。
>
密钥概念:
> DENO的安全环境和浏览器一致的API是HTTP服务的理想选择。
std/http
> postgresql通过deno-postgres
)。 如有必要,更新到版本1.3.0或更高版本()。用std/http
>。验证安装
:curl -fsSL https://deno.land/x/install/install.sh | sh -s v1.3.0
deno upgrade --version 1.3.0
deno --version
>使用
flag授予网络访问。server.ts
<code class="language-typescript">import { listenAndServe } from "https://deno.land/std@0.65.0/http/mod.ts"; const BINDING = ":8000"; console.log(`Listening on ${BINDING}...`); await listenAndServe(BINDING, (req) => { req.respond({ body: "Hello world!" }); });</code>改进复杂服务:
>
deno run --allow-net server.ts
基本服务器受到限制。 让我们对其进行增强以处理一个--allow-net
>端点(获取检索,发布消息)。 我们将添加有关URL和HTTP方法的有条件检查。
RERO用于路线管理:std/http
>
std/http
RENO处理路径解析和HTTP方法管理,允许专注于应用程序逻辑。 这是一个路由器 - 功能,很容易集成到现有的DENO服务中。
/messages
> >我们将使用PostgreSQL使用
模块来构建博客文章微服务。端点将支持Get(所有帖子,单个帖子by ID),帖子(创建帖子)和补丁程序(更新帖子)。 (对于简洁而言,省略了本节的详细代码,但在原始文本中可用。)
><code class="language-typescript">// ... (imports, including Reno) ... const routes = createRouteMap([ [ "/messages", forMethod([ ["GET", getMessages], ["POST", withJsonBody<messagepayload>(addMessage)], ]), ], ]); const router = createRouter(routes); // ... (server setup using the router) ...</messagepayload></code>
错误处理:
>自定义错误类改善错误处理。 例如,可以创建APostNotFoundError
类来处理丢失的帖子,返回404而不是通用错误。
摘要:
std/http
以上是使用Deno,Reno和Postgresql构建微服务的详细内容。更多信息请关注PHP中文网其他相关文章!