“暴露”某物是什么意思?


18

因此,我正在创建Google App Engine应用程序,并且多次遇到“公开”一词,例如“您的第一个应用程序可以使用基于HTTP的API公开对象”和“通过REST API”。“暴露”是什么意思?是否有与之相关的特定动作,或者它是设计的抽象部分?

Answers:


16

这意味着您可以通过某种方式访问​​对象。在您的示例中,您可以让用户使用HTTP协议通过某种预定义的方式与对象(API)进行交互来创建,读取,更新或删除对象(通常缩写为CRUD )。

该API可以遵循一组规则-例如RESTful API使用HTTP动词对对象执行某些操作,并且遵循一些原则这些原则规定了如何识别/表示资源以及如何通过这些表示方式对其进行操作。

在Web应用程序的上下文中,假设您在数据库中存储了博客文章。您希望您的应用程序的用户能够对这些帖子有所作为。他们不必一定使用您的网站,但是也许可以使用自己的应用程序来连接到您的应用程序(例如博客阅读器程序)。

作为应用程序的所有者,您可以定义一个接口,通过该接口可以访问您的应用程序。例如,您可能想为某些用户添加一个选项,以阅读或撰写博客文章。该界面可能看起来像这样(有关更复杂的API的示例,请参见Twitter的API定义):

  • 如果GET /posts/{number} HTTP/1.1您的Web应用程序请求了a ,则您将以{number}预定义格式提供带有id的post对象的表示形式

请注意,您没有提供实际的数据库对象,也没有提供应用程序对象。您正在提供对象的表示

  • 如果将POST /posts HTTP/1.1带有的title={text1}&body={text2}张贴到您的Web应用程序中,则将创建一个标题为的新帖子对象{text1},该对象将包含{text2}在其正文中,并将返回新创建的帖子的ID值

同样,您允许用户操纵对象的表示。用户不必知道您的对象的实际外观(通过界面从用户那里抽象出来)。

暴露对象意味着为用户提供访问和操作对象的界面。如果该接口满足有关对象表示和暴露其对象的应用程序状态的某些其他预定义条件,则该接口被称为REST(或RESTful)API。


19

“公开”在这里是指普通英语的含义-在原本无法使用的地方提供访问权限。

例如,“您的第一个应用程序可以使用基于HTTP的API公开对象”,这意味着另一台计算机上的某人可以通过请求正确的网页来操纵您计算机上的对象。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.