【问题标题】:How to start with writing a RESTful service?如何开始编写 RESTful 服务?
【发布时间】:2013-02-07 09:54:32
【问题描述】:

我正在尝试创建一个接受 JSON 参数并发出 JSON 响应的 RESTful Web 服务。

我想要的是接受对我的 URL 端点发出的 HTTP 请求。 类似的,

POST /the/endpoint HTTP/1.1 主机:mywebsite.com

{"name":"yourname", "department":"your_department"}

在后端读取数据库并提供相关参数,例如经理姓名、薪水等作为 JSON 对象作为响应。

最好的方法是什么?我正在考虑为此使用Java servlet?有没有更好的办法?

PS - 我刚刚开始,非常感谢您提供有关如何实施它的详细答案或教程链接。

谢谢。

【问题讨论】:

  • 你搜索了什么?你试过什么?什么对你不起作用?它在这里双向工作。
  • 嘿,我只是想开始。由于 HTTP 端点非常通用,我想知道什么是最好的入门方式。 Servlet 似乎是一个答案。有更好的选择吗?这就是我想知道的。

标签: rest servlets


【解决方案1】:

是的,您可以使用 Servlet 和一些用于将 Json 对象编组/解组为 Java 对象的 Json 库轻松做到这一点。

您可以使用 Json 库,例如 Jackson , Gson

但你必须知道,REST 应用程序并不仅仅只是处理请求和响应,它还需要处理其他非功能性需求,例如

  • 身份验证
  • 授权
  • 安全等

如果有现成的框架可以为您提供这些东西,那么从 Servlet 从头开始​​构建它是多余的,而且是浪费时间 我最喜欢的是 Spring MVC 3.0

查看他们的项目网站了解更多详情

只是为了向您展示在 Spring MVC 中设置一个是多么容易,请查看下面的教程 Spring 3 REST Tutorial

如果有帮助,请给帖子评分,干杯。

【讨论】:

    【解决方案2】:

    如果您想使用 Java,我建议您看一下 JAX-RS... 由于 REST 是一个复杂的主题,这里有一个包含大量信息的 url。 http://code.google.com/p/implementing-rest/

    【讨论】:

      【解决方案3】:

      作为一个完整的初学者,我相信无需大量阅读即可实现(几乎)RESTful API 的最佳方法是仅使用 HTML 页面和 HTML 表单以及后端处理来实现 API。

      规则是:

      1. 使用<a> 标签提供相关资源的链接。 (导航)
      2. 使用<form> 标签在服务器上启动任何类型的处理操作。 (行动)

      然后,您可以通过使用渐进增强添加执行 PUTPATCHDELETE 的 Javascript AJAX 请求,而不是对这三个使用 POST 来使其正确地 RESTful(当然,保留 POST 用于创建客户端不知道结果 URI 的资源)。

      然后您可以点击并在网络浏览器中测试 API! Selenium 等工具可以自动执行此操作。

      如果您需要提供 JSON,可以在 API 设计和测试后添加,尽管也存在处理 HTML 或 XHTML 响应的库,因此机器可读性不一定需要 JSON。

      【讨论】:

        【解决方案4】:

        如果你在 symfony 中使用 php,请尝试:https://github.com/FriendsOfSymfony/FOSRestBundle 这可以让你非常快速地创建一个真正的 REST 完整服务。

        【讨论】:

          【解决方案5】:

          Vogella 让我的一天变得非常轻松,因为我在这里使用了一个带有 Eclipse 屏幕截图的超级示例来启动 Web 服务。看看here

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多