首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

每个数据库表都有一个RESTful资源是一种好的做法吗?

每个数据库表都有一个RESTful资源并不是一种普遍适用的好做法。RESTful资源是一种基于HTTP协议的软件架构风格,它通过URL来表示资源,使用HTTP方法(GET、POST、PUT、DELETE等)对资源进行操作。在某些情况下,为每个数据库表创建一个RESTful资源可以提供一种简单、直观的方式来访问和操作数据。

然而,这种做法并不适用于所有情况。以下是一些需要考虑的因素:

  1. 数据库表的复杂性:如果数据库表之间存在复杂的关联关系或者表结构非常庞大,为每个表创建一个RESTful资源可能会导致API设计复杂化,增加维护成本。
  2. 安全性考虑:如果某些数据库表包含敏感数据,直接暴露RESTful资源可能存在安全风险。在这种情况下,需要采取额外的安全措施,如身份验证、访问控制等。
  3. 性能问题:为每个数据库表创建一个RESTful资源可能导致API请求频繁,增加服务器负载和网络传输开销。在高并发场景下,这可能会影响系统的性能和响应时间。

综上所述,是否为每个数据库表创建一个RESTful资源取决于具体的业务需求和系统设计。在设计API时,需要综合考虑数据库结构、安全性、性能等因素,权衡利弊,选择最适合的方案。

(注:腾讯云相关产品和产品介绍链接地址请参考腾讯云官方网站。)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Python后端技术栈(七)--web框架

如果叫这个你不觉奇怪?这不是层叠样式。 1.恶意用户将代码植入到提供给其他用户使用页面中,未经转义恶意代码输出到其他用户浏览器被执行。...定义接口规范 3.更有利于调试(mock)、测试和和运维部署 1.7.3.2 什么 RESTful全称是 Representation State Transfer ,中文翻译表现层状态转移...它是一种资源为中心 web 软件架构风格,可以用 Ajax 和 RESTful web 服务构建应用。...1.7.3.3 RESTful 解释 1.Resources(资源):使用 URI 指向一个实体。比如在 web 应用中,一个用户、一首音乐或者一个订单,我们都可以把它表示为一个实体,称之为资源。...3.对资源操作不会改变资源标识 1.7.3.5 什么 RESTful API?

1.7K40

RESTfulRESTful API 接口设计规范 | 示例

设计概念和准则 网络上所有事物都可以被抽象为资源一个资源都有唯一资源标识,对资源操作不会改变这些标识 所有的操作都是无状态(本次操作、下次操作、上次操作之间无关系) 资源:网络上一个实体、.../服务器发生不可预期错误 503 Server Unavailable // 服务器当前不能处理客户端请求 RESTful 架构与其他架构区别 API 开发方式不止一种,另一种比较流行开发方式...返回结果:如POST资源时候,需要返回一个资源实例;GET资源列表时,需要返回一个资源数组; 资源路径 在RESTful架构中,每个网址代表一个资源,所以网址中不能有动词,只能有名词。...版本号加入有两种做法一种加入到地址中,另一种加入到HTTP请求头中;zoos复数 https://api.example.com/v1/animals //动物资源 https://api.example.com...422,403… 错误处理:输出JSON格式错误信息 返回结果:输出JSON数组或JSON对象 数据库设计 在数据库中新建2张: 用户: ID、用户名、密码、注册时间 文章: 文章ID、标题、内容

1.5K20
  • 我所知道那点微服务

    限流其实是一种简单粗暴但又经济实惠做法,相信现在绝大多数互联网公司主要还是采用这种模式。 传统限流模式适合微服务? 但限流模式也许并不适合微服务。只适用于那些“最终”微服务。...异步有两种做法一种通过消息中间件发送信息,一种采用本地缓存堆积数据,然后定期发送。开发者可以配置来选择具体使用方式。...当然了,RESTful风格请求方式,强调以资源方式来定位一个微服务,对于底层一点原子服务来说也是不错暴露方式,他http method看起来和数据库CRUD那么匹配。...你好好想想,当你一个告诫开发者们:“现在搞微服务了,不要给我做表关联,要单操作!”。...你想想,你都只能用单了,为什么还不去使用下那些集群扩展能力更强NoSql数据库呢? 这里只是说了一种场景。并不是说关系数据库就没落了。关系数据库依然还会在未来多年里占有重要角色。

    685101

    Django进阶篇 Rest framework (三)

    https://api.example.com/v1/ 另一种做法,将版本号放在 HTTP 头信息中,但不如放在 URL 方便和直观。 https://api.example.com/?...version=v1 ④ 路径 路径又称“终点”(endpoint),表示 API 具体网站,网络上任何东西都是资源,均使用名词表示(可复数),在 RESTful 架构中,每个网址代表一种资源,所以网址中不能有动词...数据库都是同种记录“集合”,所以 API 中名称也应该使用复数。...常用 HTTP 动词有下面五个(括号里对应 SQL 命令); GET( SELECT ):从服务器取出资源(一项或多项); POST( CREATE ):在服务器新建一个资源; PUT( UPDATE...还有两个不常用 HTTP 动词: HEAD:获取资源元数据。 OPTIONS:获取信息,关于资源哪些属性客户端可以改变

    31120

    DjangoRestFramework,restful规范、APIview、解析器组件、Postman等

    https://api.example.com/v1/       另一种做法,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。...在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...一般来说,数据库都是同种记录"集合"(collection),所以API中名词也应该使用复数。       ...每一种状态码都有标准(或者约定)解释,客户端只需查看状态码,就可以判断出发生了什么情况,所以服务器应该返回尽可能精确状态码。         ...这张做法实际上取消了状态码,这是完全不可取。正确做法,状态码反映发生错误,具体错误信息放在数据体里面返回。下面一个例子。

    2.5K20

    软件开发中常说RESTful风格API究竟是什么

    Rest概念 在RESTful架构中,每个网址代表一种资源(resource),所有网址请求接口中不能有动词,只能有名词,这点和数据库设计风格很像。 那么可能有同学会问了?动词怎么来表示呢?...POST(CREATE):在服务器新建一个资源。 PUT(UPDATE):在服务器更新资源(客户端提供改变后完整资源)。 PATCH(UPDATE):在服务器更新资源(客户端提供改变属性)。...其实一般互联网技术类公司都有自己风格,这个参考就好 https://developer.github.com/v3/media/#request-specific-version (Github采用这种做法...DELETE /zoos/ID/animals/ID:删除某个指定动物园指定动物 总结 当你看到这里,这边文章已经讲完了,相信你已经,对什么Restful风格已经有一个自己概念。...但是小编还是要强调一点。请务必记住: REST一种跨平台、跨语言架构风格。而不是已经技术。所以对于刚入行开发者,请千万不要害怕。其实就这么简单。

    30010

    人人都是 API 设计者:我对 RESTful API、GraphQL、RPC API 思考

    在 REST 架构风格中,每一个 URI 代表一种资源。因此,URI 一个资源地址唯一资源定位符。...所谓资源,实际上就是一个信息实体,它可以是服务器上一段文本、一个文件、一张图片、一首歌曲,或者一种服务。...为了解决这个版本不兼容问题,在设计 RESTful API 一种实用做法使用版本号。一般情况下,我们会在 url 中保留版本号,并同时兼容多个版本。...一种比较好方案,当 RESTful API 接口出现非 2xx HTTP 错误码响应时,采用全局异常结构响应信息。...但是,遇到分库分情况,唯一索引也就不那么好使了,此时,我们可以先查询一次数据库,然后判断是否约束资源字段存在重复,没有的重复时再进行插入操作。

    1K20

    Spring+SpringMVC+MyBatis+easyUI整合进阶篇(六)一定要RESTful

    案例二 以上针对于RESTful理解和设计上一个例子,具体工作中还有其他例子?也是很多,比如,比较棘手一个问题:跨域资源共享 CORS。...遗漏了对资源从属关系检查 一个典型RESTfulURL会用资源名加上资源id编号来标识其唯一性,就像这样:/users/{userid},例如:/users/100 一般而言用户只能查看自己用户信息...解决办法不使用按序递增数字作为ID,而是使用具有随机性、唯一性、不可预测性值作为ID,最常见做法就是使用UUID。...,比如传统MVC开放形式,比如webservice,比如rpc调用,RESTful也只是其中一种而已,这些选项中并没有高下之分,无非多种约定俗成标准,传统MVC开发着舒服就按MVC模式来开发,习惯用...前几篇文章中描述了RESTful那么多优点,现在又说大可不必使用,前文又提到RESTful设计实践,现在又是另外一种说法,不是自相矛盾

    77330

    【ES三周年】关于 Elasticsearch 搜索引擎介绍

    通过使用 CRUD 操作——创建、读取、更新、删除——可以有效地对持久存储中存在数据进行操作。这些类似于关系数据库实现 CRUD,可以通过 RESTful API 中存在 HTTP 接口执行。...索引:Elasticsearch 中索引类似于关系数据库。 映射:每个索引都有一个与之关联映射,它本质上索引中每个单独文档可以保存数据模式定义。...这可以为每个索引手动创建,也可以在将数据推送到索引时自动添加。 文档:一个 JSON 文档。在关系术语中,这将表示一行。 分片:分片可能属于也可能不属于同一索引数据块。...副本:集群中每个分片都可以复制到集群中一个或多个节点。这允许进行故障转移备份。万一其中一个节点出现故障或此时无法利用其资源,则始终可以使用具有数据副本来处理数据。...默认情况下,为每个分片创建一个副本,数量可配置。除了故障转移,副本使用也提高了搜索性能。

    1.3K154

    赏心悦目的RESTful API这样来设计!

    Restful API 设计标准之上,我们可以为我们设计增加一些弹性(团队都认可方式),每个项目的情况不同,最重要项目组成员达成一致Restful API 设计规则,达到高可用即可 URL...名词 名词就是表示一个资源或者服务,如 /users,/teachers,这里看到我用名词复数形式描述某一资源,至于用单数还是复数每个都有自己见解,我在这里推荐使用复数,因为在现实世界中,资源多数是以集合形式存在...这是一个很错误观念,RESTful 设计理念之一简单直观,试想一下,前端开发人员打开开发者工具,所有请求都是200状态码,但是页面数据就是没有显示出来,难道前端开发人员还要每个接口调用点开看一看...,哪个 status -1 导致?...Postman自定义环境变量,会打开新世界大门 写在最后 如何设计出最好 RESTful API 永远不会有结论,设计出高可用,团队认可,简单清晰明了 RESTful API 就是

    1.4K10

    如何设计好RESTful API

    Restful API 设计标准之上,我们可以为我们设计增加一些弹性(团队都认可方式),每个项目的情况不同,最重要项目组成员达成一致Restful API 设计规则,达到高可用即可 URL...名词 名词就是表示一个资源或者服务,如 /users,/teachers,这里看到我用名词复数形式描述某一资源,至于用单数还是复数每个都有自己见解,我在这里推荐使用复数,因为在现实世界中,资源多数是以集合形式存在...这是一个很错误观念,RESTful 设计理念之一简单直观,试想一下,前端开发人员打开开发者工具,所有请求都是200状态码,但是页面数据就是没有显示出来,难道前端开发人员还要每个接口调用点开看一看...,哪个 status -1 导致?...写在最后 如何设计出最好 RESTful API 永远不会有结论,设计出高可用,团队认可,简单清晰明了 RESTful API 就是

    1.6K20

    新一代数据查询语言GraphQL来啦!

    而本地移动应用,为了给应用提供需要数据,填充数据模型,显示视图,要解决问题怎么去请求,准备,传递这些数据。 Facebook考量了两种实现方案,包括RESTful服务资源和FQL。...GraphQL一种API查询语言,一个对自定义类型系统执行查询服务端运行环境 一个GraphQL查询一个被发往服务端字符串,该查询在服务端被解释和执行后返回JSON数据给客户端。...也就是说GraphQL提供给你了组织与管理数据源能力,但是数据具体存在文件系统还是数据库它并不关注。...3、查询性能,GraphQL查询每个字段如果都有自己resolve方法,可能导致一次查询操作对数据库跑了大量了query,数据库里一趟select+join就能完成事情在这里看来会产生大量数据库查询操作...事实上,GraphQL 提供资源不一定要和你数据库一样,因为它只是扮演中间层角色,虽然也可能很像。所以,你完全可以控制你期望暴露给用户资源。 ? 7.

    3K70

    新一代数据查询语言GraphQL来啦!

    而本地移动应用,为了给应用提供需要数据,填充数据模型,显示视图,要解决问题怎么去请求,准备,传递这些数据。 Facebook考量了两种实现方案,包括RESTful服务资源和FQL。...GraphQL一种API查询语言,一个对自定义类型系统执行查询服务端运行环境 一个GraphQL查询一个被发往服务端字符串,该查询在服务端被解释和执行后返回JSON数据给客户端。...也就是说GraphQL提供给你了组织与管理数据源能力,但是数据具体存在文件系统还是数据库它并不关注。...3、查询性能,GraphQL查询每个字段如果都有自己resolve方法,可能导致一次查询操作对数据库跑了大量了query,数据库里一趟select+join就能完成事情在这里看来会产生大量数据库查询操作...事实上,GraphQL 提供资源不一定要和你数据库一样,因为它只是扮演中间层角色,虽然也可能很像。所以,你完全可以控制你期望暴露给用户资源。 ? 7.

    90730

    在前后端分离路上承受了多少痛?看看这篇是否能帮到你?

    一旦这位同事离职,很多说不清逻辑就留给后人采坑了。 等等………… 重构 下面步入正题,面对以上众多问题聊聊我如何重新制定流程 数据库约定 约定数据库里所有必须包含名为id主键字段。...可能有人会说,正常来说不是每张表里都应该有id主键?但是,我们项目中由于之前开发不严谨,部分没有id主键,或者不为id主键。这里我们采用分布式全球唯一码来作为id。...RESTful接口约定 首先我们选择一个名词复数,比如产品 post方法 新增一条XXX 比如 ……/products 则代表新增一条产品 入参json如下: { "name":"我一款新产品...page=1&pageSize=50 我们约定了所有名词复数,都会返回list,且list每个对象都有字段为id唯一id。...总结 经过一番折腾,开发进度总算快了点,也一定程度上达到了快速上线项目的效果。关于restful风格api,每个都有自己见解,只要内部约定清楚,能尽可能少减少沟通,我觉得就是理解。

    95530

    RESTful 接口设计指南

    因此,必须有一种统一机制,方便不同前端设备与后端进行通信,这导致 API 构架流 行,甚至出现"API First"设计思想,RESTful API 目前比较成熟一套互联网应用程序 API...一个 RESTful API 我们应从以下几个方面考虑: 1.协议,建议使用更安全https协议。 2.域名,尽量部署在专属域名下面。...路径,在RESTful架构中,每个网址代表一种资源(resource),所以网址中建议不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...一般来说,数据库都是同种记录"集合"(collection),所以 API 中名词也应该使用复数。 5. Http 请求数据方式。 (1).GET(SELECT),查询服务器资源。...以下三个HTTP 请求方式不常用 (5).HEAD,获取资源元数据。 (6).OPTIONS,获取信息,关于资源哪些属性客户端可以改变

    66810

    避免自己写 url 被diss!建议看看这篇RestFul API简明教程!

    大家 Guide 哥!这是我第 210 篇优质原创!这篇文章主要分享了后端程序员必备 RestFul API 相关知识。...RestFul API 每个程序员都应该了解并掌握基本知识,我们在开发过程中设计 API 时候也应该至少要满足 RestFul API 最基本要求(比如接口中尽量使用名词,使用 POST 请求创建资源...每一种资源都有特定 URI(统一资源定位符)与之对应,如果我们需要获取这个资源,访问这个 URI 就可以了,比如获取特定班级:/class/12。...综合上面的解释,我们总结一下什么 RESTful 架构: 每一个 URI 代表一种资源; 客户端和服务器之间,传递这种资源某种表现形式比如 json,xml,image,txt 等等; 客户端通过特定...因为 REST 中资源往往和数据库对应,而数据库都是同种记录"集合"(collection)。如果 API 调用并不涉及资源(如计算,翻译等操作)的话,可以用动词。

    93920

    突破年薪20W,必读三本数据库好书

    以至于之后猎头来挖我们,开口就问“你是不是惠普这个团队?”。 这么多工程师,面试时候普遍被问到问题,“你读过 Kimball 数据仓库工具箱,举例说说事实与维度应用场景?”...按照惯常做法,每年销量做成一张每个地区年销量做成一张,再用一张计算每年 iPhone,iPad, Mac 销量,然后两两 Join 这些,得到数据。...当我做了2年CRUD后,看到如此完美的设计,毫不犹豫犒劳了自己一顿KFC全家桶,那时才800多块月工资啊,一个全家桶接近120....本书一大特色,在于把优化影响因子都量化了,CPU时间,IO 时间预算,都有量化公式,掌握这些公式,在优化中,我们SQL程序员就可以有的放矢,而不至于两眼摸瞎。...每个数据库,数据存储设计,都有其独特CAP理论实现。本书从关系型数据库实现到分布式系统(Hadoop)实现,都一一做了阐述,看完神清气爽。

    38630

    RESTful API 设计指南

    这导致API构架流行,甚至出现"API First"设计思想。RESTful API目前比较成熟一套互联网应用程序API设计理论。...https://api.example.com/v1/ 另一种做法,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。...在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...一般来说,数据库都是同种记录"集合"(collection),所以API中名词也应该使用复数。...常用HTTP动词有下面五个(括号里对应SQL命令)。 GET(SELECT):从服务器取出资源(一项或多项)。 POST(CREATE):在服务器新建一个资源

    78740

    如何给老婆解释什么Restful

    restaurant形容词,突然就觉得好饿了啊......” 作为一个合格程序员,我一直把能够将一项技术讲给老婆听,并且能给她讲懂,作为我已经掌握了这项技术标准。...Level 1 - 面向资源 “现在这家咖啡店越做越大,来喝咖啡的人越来越多,单靠前台显然不行,店主决定进行分工,每个资源都有专人负责,我们可以直接面向资源操作。” "面向资源?”...richardson-model.png Level0和Level1最大区别,就是Level1拥有了Restful一个特征——面向资源,这对构建可伸缩、分布式架构至关重要。...Level3,关于这一层,有一个古怪名词,叫HATEOAS(Hypertext As The Engine Of Application State),中文翻译为“将超媒体格式作为应用状态引擎”,核心思想就是每个资源都有状态...Level3Restful API,给使用者带来了很大便利,使用者只需要知道如何获取资源入口,之后每个URI都可以通过请求获得,无法获得就说明无法执行那个请求。

    48020

    深入理解什么RESTful API ?

    我这篇文章写作目的,就是想在符合架构原理前提下,理解和评估以网络为基础应用软件架构设计,得到一个功能强、性能、适宜通信架构。...六、综述 综合上面的解释,我们总结一下什么RESTful架构:     (1)每一个URI代表一种资源;     (2)客户端和服务器之间,传递这种资源某种表现层;     (3)客户端通过四个...https://api.example.com/v1/ 另一种做法,将版本号放在HTTP头信息中,但不如放入URL方便和直观。Github采用这种做法。...在RESTful架构中,每个网址代表一种资源(resource),所以网址中不能有动词,只能有名词,而且所用名词往往与数据库表格名对应。...一般来说,数据库都是同种记录"集合"(collection),所以API中名词也应该使用复数。

    3.1K20
    领券