我需要在服务器端创建 5 个方法来处理二进制数据。远程客户端是小程序和 JavaScript。客户端将向服务器发送文件,服务器必须解析这些文件,然后以 XML/JSON 的形式返回响应。
所以我很困惑 - 在这种情况下使用 REST 服务是一种好习惯吗?还是我应该使用 servlet?
我的同事告诉我:
"Creating REST-service that will be used only by one Application isn't good. REST must be created only when it will be used by many apps. And REST has some disadvantages over servlet: REST is slower than servlet; it more difficult to write thread-safe REST than servlet"
但是,我看到使用 Servlet 的一些缺点:我需要发送一个我想要调用的函数名(即作为额外的 HTTP 参数发送函数名)
然后在 doPost
方法内部执行以下切换:
switch(functionName) {
case "function1":
function1();
break;
case "function2"
function2();
break;
//.... more `case` statements....
}
在 REST 的情况下,我可以简单地将不同的 URL 用于不同的功能。 另外,在 REST 的情况下,从服务器返回 JSON/XML 更方便。
最佳答案
您在这里混淆了两种范式:
- REST 是一种软件架构“风格”;
- Servlet 是一种服务器端技术。
例如,您可以使用 Servlet 实现类似 REST 的服务。
关于java - Servlet 与 REST,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12525771/