Swift Vapor 教程(CURD 操作)

2024-02-03 10:52
文章标签 教程 操作 swift curd vapor

本文主要是介绍Swift Vapor 教程(CURD 操作),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

接上篇使用 Swift Vapor 对数据库进行简单的操作。
下面会使用一个稍微简单的方式进行 CURD 操作

import Fluent
import Vaporstruct SongController: RouteCollection {func boot(routes: Vapor.RoutesBuilder) throws {let songs = routes.grouped("songs")//  GET http://127.0.0.1:8080/songs// 获取所有列表songs.get(use: index)// POST  http://127.0.0.1:8080/songs// 单个插入// 参数如下://    {//       "title": "ka qiu sha"//    }songs.post(use: create)// http://127.0.0.1:8080/songs/A73796AE-D7DE-4042-AD08-2194FBE4C0BA// GET /users/:userID(这个:userID 是真实的 id)// 更加id 获取单条信息songs.get(":songID", use: show)// http://127.0.0.1:8080/songs/A73796AE-D7DE-4042-AD08-2194FBE4C0BA// DELETE /users/:userID(这个:userID 是真实的 id)// 删除(根据id删除)songs.delete(":songID", use: delete)// http://127.0.0.1:8080/songs/45F40F36-69E5-4C28-8462-D6271C9A054F// 参数如下:// {//  "title": "qiang jun zhan ge"//  }// PUT /users/:userID(这个:userID 是真实的 id)// 更新信息(根据id更新)songs.put(":songID", use: update)}//  GET Request /songs routefunc index(req: Request) throws -> EventLoopFuture<[Song]> {// 查询所有return Song.query(on: req.db).all()}//  POST Request /songs create 增func create(req: Request) throws -> EventLoopFuture<HTTPStatus> {let song = try req.content.decode(Song.self)return song.save(on: req.db).transform(to: .ok)}func show(req: Request) throws -> EventLoopFuture<Song> {return Song.find(req.parameters.get("songID"), on: req.db).unwrap(or: Abort(.notFound))}func update(req: Request) throws -> EventLoopFuture<Song> {let updateSong = try req.content.decode(Song.self)return Song.find(req.parameters.get("songID"), on: req.db).unwrap(or: Abort(.notFound)).flatMap { song insong.title = updateSong.titlereturn song.save(on: req.db).map { song }}}func delete(req: Request) throws -> EventLoopFuture<HTTPStatus> {return Song.find(req.parameters.get("songID"), on: req.db).unwrap(or: Abort(.notFound)).flatMap { song insong.delete(on: req.db).transform(to: .ok)}}}

创建用户:POST /songs,带上 JSON 请求体,比如

{"title": "zhong guo ren"
}

列出所有用户:GET /songs
获取单个用户:GET /songs/:songID
更新用户信息:PUT /songs/:songID
删除用户:DELETE /songs/:songID

这篇关于Swift Vapor 教程(CURD 操作)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/673927

相关文章

Python操作PDF文档的主流库使用指南

《Python操作PDF文档的主流库使用指南》PDF因其跨平台、格式固定的特性成为文档交换的标准,然而,由于其复杂的内部结构,程序化操作PDF一直是个挑战,本文主要为大家整理了Python操作PD... 目录一、 基础操作1.PyPDF2 (及其继任者 pypdf)2.PyMuPDF / fitz3.Fre

Python对接支付宝支付之使用AliPay实现的详细操作指南

《Python对接支付宝支付之使用AliPay实现的详细操作指南》支付宝没有提供PythonSDK,但是强大的github就有提供python-alipay-sdk,封装里很多复杂操作,使用这个我们就... 目录一、引言二、准备工作2.1 支付宝开放平台入驻与应用创建2.2 密钥生成与配置2.3 安装ali

MySQL 强制使用特定索引的操作

《MySQL强制使用特定索引的操作》MySQL可通过FORCEINDEX、USEINDEX等语法强制查询使用特定索引,但优化器可能不采纳,需结合EXPLAIN分析执行计划,避免性能下降,注意版本差异... 目录1. 使用FORCE INDEX语法2. 使用USE INDEX语法3. 使用IGNORE IND

2025版mysql8.0.41 winx64 手动安装详细教程

《2025版mysql8.0.41winx64手动安装详细教程》本文指导Windows系统下MySQL安装配置,包含解压、设置环境变量、my.ini配置、初始化密码获取、服务安装与手动启动等步骤,... 目录一、下载安装包二、配置环境变量三、安装配置四、启动 mysql 服务,修改密码一、下载安装包安装地

电脑提示d3dx11_43.dll缺失怎么办? DLL文件丢失的多种修复教程

《电脑提示d3dx11_43.dll缺失怎么办?DLL文件丢失的多种修复教程》在使用电脑玩游戏或运行某些图形处理软件时,有时会遇到系统提示“d3dx11_43.dll缺失”的错误,下面我们就来分享超... 在计算机使用过程中,我们可能会遇到一些错误提示,其中之一就是缺失某个dll文件。其中,d3dx11_4

Linux下在线安装启动VNC教程

《Linux下在线安装启动VNC教程》本文指导在CentOS7上在线安装VNC,包含安装、配置密码、启动/停止、清理重启步骤及注意事项,强调需安装VNC桌面以避免黑屏,并解决端口冲突和目录权限问题... 目录描述安装VNC安装 VNC 桌面可能遇到的问题总结描js述linux中的VNC就类似于Window

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

Python使用openpyxl读取Excel的操作详解

《Python使用openpyxl读取Excel的操作详解》本文介绍了使用Python的openpyxl库进行Excel文件的创建、读写、数据操作、工作簿与工作表管理,包括创建工作簿、加载工作簿、操作... 目录1 概述1.1 图示1.2 安装第三方库2 工作簿 workbook2.1 创建:Workboo

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配