只是想了解一下 SOAP 与 REST。我们目前有一些 asmx Web 服务,主要在我们自己的 JavaScript 和服务器代码(不是公共(public) API)之间使用。当我将方法指定为 ScriptService
并指定 Json 的 ResponseFormat
时,它是否仍被视为 SOAP 服务?对我来说,它仍然感觉不够 RESTful,但这也许是因为我的“资源”的设计方式(没有很好/完全地由 REST 表示)。
编辑:阅读更多内容后,我可能会混淆格式(JSON 与 XML)与大多数 SOAP 协议(protocol) 描述都与 XML 相关的事实。例如,wikipedia状态:
It relies on Extensible Markup Language (XML) for its message format
对我来说,从逻辑上讲,如果我使用 JSON,我一定不能使用 SOAP。
最佳答案
这并不完全是您所要求的,但如果您从 JavaScript 调用 ASMX 服务并检索 JSON,则 ASMX 服务不是 RESTful。您必须向 ASMX 服务发出 POST 请求才能从中获取 JSON,即使该请求是幂等的并且仅检索数据。在 RESTful API 中,在这种情况下将使用 GET 请求,而不是 POST。
这并不是说缺乏 REST 性是私有(private) API 的实际问题。我发现 ASMX 服务作为 AJAX 回调的基于 JSON 的服务层在实践中效果很好。
关于c# - 当我让我的 (ASMX) Web 服务接受/返回 JSON 而不是 XML 时,它是否不再被视为 SOAP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5899632/