首页
学习
活动
专区
工具
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.6K20
  • 我所知道那点微服务

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

    686101

    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一种跨平台、跨语言架构风格。而不是已经技术。所以对于刚入行开发者,请千万不要害怕。其实就这么简单。

    30210

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

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

    1.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设计实践,现在又是另外一种说法,不是自相矛盾

    77530

    【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.

    90830

    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,获取信息,关于资源哪些属性客户端可以改变

    67010

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

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

    95830

    避免自己写 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 调用并不涉及资源(如计算,翻译等操作)的话,可以用动词。

    94620

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

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

    38930

    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):在服务器新建一个资源

    78940

    如何给老婆解释什么Restful

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

    48120

    深入理解什么RESTful API ?

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

    3.2K20
    领券