web-services - RESTful 枚举。字符串还是ID?

标签 web-services rest enums localization

我有一个暴露枚举的 RESTful 服务。

我应该将它们公开为本地化字符串还是普通整数?

我倾向于使用整数以便在服务端轻松转换,但在这种情况下,客户端需要从某处获取本地化字符串列表,以便了解枚举的含义。我是否只是徒劳地创建了额外的步骤?

我几乎找不到关于 RESTful API 中哪些通常完成的信息。

编辑:

好的。假设我正在编写一个存储有关人们宠物信息的网站。我可以有一个 AnimalType 枚举

0 Dog
1 Cat
2 Rabbit 
etc.

当人们获取特定的宠物资源时,说 /pets/1 ,我可以为动物类型提供有意义的本地化字符串,或者只提供 ID 并强制它们通过 /pets/types 再次查找。资源。

还是我应该同时提供?

最佳答案

我想您应该考虑要向客户公开的一致 RESTful API。

您自己是否在代码中使用枚举是一个实现细节。
您的客户是否会在他的实现中使用枚举,您既不知道也不应该打扰您,因为这只是不同级别的抽象。

先设计API,后实现。

如果您更深入地了解要使用这些枚举返回给客户的信息类型,我可以给出更直接的答案。

现在我猜如果整数 id 和字符串描述与描述信息或状态相关,你想在调用你的 RESTful 资源时返回它们,那么你应该返回它们,它们都包装在 json 或 xml 文档中。

关于web-services - RESTful 枚举。字符串还是ID?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13878523/

相关文章:

php - 使用 WAMP 在本地计算机上创建和使用 Web 服务

java - 将 Post 请求中的 String 参数和对象传递给 RESTful 服务

java - JAX-WS - 创建大量 xjc java 对象时如何提高性能?

testing - 本地自动化测试模拟webservices的思路

python - 通过 RESTful API 使用 python 与 MOXA ioLogik1214 进行连接,以将数据放入 DO 端口

javascript - 从 HTML 页面调用和显示 REST 或 SOAP 响应

c - 避免误报 -Wswitch 警告

c# - 我可以将 HashSet<SomeEnumeration> 作为 HashSet<byte> 传递吗?

c++ - 将数字附加到枚举以获得其他枚举

java - 通过 HttpPost 发送到 .net 服务的 JSONObject 正在接收 null JSONObject