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

相关文章

Linux搭建Mysql主从同步的教程

《Linux搭建Mysql主从同步的教程》:本文主要介绍Linux搭建Mysql主从同步的教程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录linux搭建mysql主从同步1.启动mysql服务2.修改Mysql主库配置文件/etc/my.cnf3.重启主库my

SpringBoot操作MaxComputer方式(保姆级教程)

《SpringBoot操作MaxComputer方式(保姆级教程)》:本文主要介绍SpringBoot操作MaxComputer方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录引言uqNqjoe一、引入依赖二、配置文件 application.properties(信息用自己

Tomcat的下载安装与使用教程

《Tomcat的下载安装与使用教程》本文介绍了Tomcat的下载、安装和使用方法,包括在本机和云服务器上部署Tomcat的过程,以及解决启动失败问题的方法... 目录Tomcat的下载安装与使用Tomcat的下载与安装Tomcat在本机运行使用Tomcat在php云服务器上的使用总结Tomcat的下载安装与

SpringBoot基于沙箱环境实现支付宝支付教程

《SpringBoot基于沙箱环境实现支付宝支付教程》本文介绍了如何使用支付宝沙箱环境进行开发测试,包括沙箱环境的介绍、准备步骤、在SpringBoot项目中结合支付宝沙箱进行支付接口的实现与测试... 目录一、支付宝沙箱环境介绍二、沙箱环境准备2.1 注册入驻支付宝开放平台2.2 配置沙箱环境2.3 沙箱

IDEA接入Deepseek的图文教程

《IDEA接入Deepseek的图文教程》在本篇文章中,我们将详细介绍如何在JetBrainsIDEA中使用Continue插件接入DeepSeek,让你的AI编程助手更智能,提高开发效率,感兴趣的小... 目录一、前置准备二、安装 Continue 插件三、配置 Continue 连接 DeepSeek四

C#中的 Dictionary常用操作

《C#中的Dictionary常用操作》C#中的DictionaryTKey,TValue是用于存储键值对集合的泛型类,允许通过键快速检索值,并且具有唯一键、动态大小和无序集合的特性,常用操作包括添... 目录基本概念Dictionary的基本结构Dictionary的主要特性Dictionary的常用操作

C# winform操作CSV格式文件

《C#winform操作CSV格式文件》这篇文章主要为大家详细介绍了C#在winform中的表格操作CSV格式文件的相关实例,文中的示例代码讲解详细,感兴趣的小伙伴可以参考一下... 目录实例一实例效果实现代码效果展示实例二实例效果完整代码实例一实例效果当在winform界面中点击读取按钮时 将csv中

jdk21下载、安装详细教程(Windows、Linux、macOS)

《jdk21下载、安装详细教程(Windows、Linux、macOS)》本文介绍了OpenJDK21的下载地址和安装步骤,包括Windows、Linux和macOS平台,下载后解压并设置环境变量,最... 目录1、官网2、下载openjdk3、安装4、验证1、官网官网地址:OpenJDK下载地址:Ar

Java8需要知道的4个函数式接口简单教程

《Java8需要知道的4个函数式接口简单教程》:本文主要介绍Java8中引入的函数式接口,包括Consumer、Supplier、Predicate和Function,以及它们的用法和特点,文中... 目录什么是函数是接口?Consumer接口定义核心特点注意事项常见用法1.基本用法2.结合andThen链

C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)

《C#集成DeepSeek模型实现AI私有化的流程步骤(本地部署与API调用教程)》本文主要介绍了C#集成DeepSeek模型实现AI私有化的方法,包括搭建基础环境,如安装Ollama和下载DeepS... 目录前言搭建基础环境1、安装 Ollama2、下载 DeepSeek R1 模型客户端 ChatBo