>本教程演示了使用輕巧的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中文網其他相關文章!