使用完全REST Web服务将数据写入数据库

时间:2008-12-10 11:22:31

标签: database web-services rest

如何创建REST Web服务以将行写入数据库表。使用以下方案:

  

该表名为客户 -   要插入到行中的数据   是名字,地址,电话   号码,电子邮件。

我认为不可能用Java或C#来描述端到端的整个事情,我永远不会想到这一点,但是在我准备编码时,这些问题突然出现在我脑海中:

  • URI的外观(例如,如果您使用此网址 - http://www.example.com/)?
  • 哪些信息会进入HTTP信封?
  • 以这种方式写入数据库时​​,我会使用POST吗?
  • 我是否使用资源存储客户端发布的数据?如果数据正在写入数据库,这甚至是必要的吗?
  • 当服务器收到要写入数据库的数据时 - 如何将其物理插入数据库?我是否在服务器上调用某种方法来实际写入数据(用Java)? - 这似乎不适合真正的REST架构 - 避开RPC调用。
  • 我是否应该打扰写入数据库?我应该将数据存储为资源吗?

正如你所看到的,我需要清除一些问题。任何帮助非常感谢。

2 个答案:

答案 0 :(得分:5)

首先,我不是java也不是c#expert,我不知道这些语言必须支持REST设计的意义,但总的来说:

  1. http://www.example.com/customers - 客户是资源的集合,您想要为此集合添加新资源

  2. 这取决于各种各样的事情 - 你应该设置内容类型标题(根据你发送表示的数据格式),并在需要时设置一些认证标题。

    < / LI>
  3. 是的,您始终使用POST在资源集合中创建新条目。

  4. 说实话,我并不完全明白这个问题。 “将数据直接写入数据库”是什么意思?

  5. REST主要只是服务器和客户端之间的通信方式。它没有说明如何处理使用它收到的数据。现代Web方法(MVC样式框架)解决它的常用方法是将每个REST操作路由到某个类(通常是控制器实例)的方法,在该方法中处理接收的参数(例如,将它们保存到数据库中)并生成回复的回复。

  6. 有关REST的非常简短且非常清晰的介绍,请查看此short video

答案 1 :(得分:3)

由O'Reilly and Associates出版的

RESTful Web Services 似乎符合您正在寻找的法案。

至于Java,Sun has a page就可以了。