假设我有RESTful或其他无合约API的URI。是否可以通过编程确定其接口?我正在使用C#/ ASP.net MVC,不确定是否重要。

我知道不会有公开的合同,但是我想知道是否有我不介意的东西(通常是)。

最佳答案

如果系统是RESTful,则返回的表示形式将为您提供到可用端点的链接。这些链接很容易以编程方式发现。请参见this示例。

内容类型HTTP标头应告诉您正在返回的信息类型。假设您的客户端应用程序了解该媒体类型,那么您应该拥有使用该服务所需的所有信息。

不幸的是,返回通用媒体类型(例如application / xml和application / json)已变得司空见惯,这些媒体类型告诉您的内容仅是如何解析内容。如果是这种情况,那么您的客户端将需要存储一些其他信息,这些信息关于预期来自特定URL的数据类型。这是令人讨厌的耦合,但是在人们开始真正理解“自我描述” REST约束之前,这是必不可少的。

关于rest - 如何发现非SOAP Web API的契约(Contract)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2750147/

10-11 20:43