用sql创建随机数字并且写入表article的its里面its有很100行

将此字段的默认值设置为newid()。

Rust+Rocket+PostgreSQL简单实现CRUD的restfulAPI后台——06:article相关的路由

为了实现文章相关接口,我们首先在src文件夹中创建一个名为article的文件夹,并在其中创建四个文件:db_service.rs、Route.rs、auth.rs和type.rs。
这里需要注意的是,db_service、Route、auth中的文件名是相同的,但它们的使用范围仅限于文章目录,所以不会发生冲突。
在types.rs中,我们添加一个类型来将用户ID存储在令牌中。
这是为了验证操作者是否是文章的作者。
否则直接返回状态码400。
然后为添加/更改操作添加一个新类型。
接下来,在Route.rs中,我们编写逻辑代码来添加/修改帖子。
主要逻辑包括获取数据、收集文件存储路径(在src同级的md文件夹中,路径为md/${author_id}/${article_id})、判断是否为add操作或不根据id是否为空进行更新。
实现save_article函数时,插入/修改成功后会返回修改时间。
在与文件操作相关的代码中,我们处理文件的读写操作。
如果处理过程中出现错误,将直接返回状态码500。
在main.rs中注册路由。
执行完添加/修改文章的功能后,我们通过登录获取token并将token添加到Header的_token字段中。
然后调用相应的接口进行操作,确保文章成功添加或更新到数据库和文件系统中。
测试时,您可以检查文件夹中是否有新添加或修改的.md文件以及数据库中的相应记录。
接下来我们实现文章删除功能,通过数据库索引进行删除操作,需要验证操作者是否是文章的作者。
在articles/db_service中,我们查询并删除对应的文章。
在测试阶段,确认该文章已不再存在于数据库中。
在检索文章详细信息的过程中,还需要验证版主是否是文章的作者。
我们在articles/mod.rs中定义文章详情类型,然后在articles/routes中实现路由,并在articles/db_service中查询文章详情。
添加一些常见的包类型到db/mod.rs。
在我们的分页查询实现中,我们将根路径重定向到分页查询路由。
在types/mod.rs中添加类型定义,并将/重定向到Route.rs中的get_article路径。
根据db_service中的所有参数执行分页或单个查询。
注意,只有is_publish正确的文章才能通过该接口查询到。
在测试阶段,我们验证了获取单篇和多篇文章的准确性。
模糊查询实现主要通过字符串匹配来实现简单的搜索功能。
在article/mod.rs中定义模糊查询类型,实现router.rs中的模糊查询接口,使用db_service中pgsql提供的%[key]%进行模糊查询。
综上所述,本文演示了如何使用Rust、Rocket和PostgreSQL来执行文章的添加/编辑、删除、获取详细信息、分页和模糊查询功能。
通过这一系列步骤,读者可以熟悉编写Rust代码,为更复杂的项目奠定基础。
请注意,实际应用程序可能需要实现更多功能才能满足特定需求。
如果文章对您有用,别忘了点赞哦。