标签: api

REST复杂/复合/嵌套资源

我试图围绕解决基于REST的API中的概念的最佳方式.不包含其他资源的平面资源没有问题.我遇到麻烦的地方是复杂的资源.

例如,我有一本漫画书的资源.ComicBook上有如各种属性author,issue number,date,等.

漫画书也有一份1..n封面清单.这些封面是复杂的对象.它们包含大量关于封面的信息:艺术家,日期,甚至是封面的64位编码图像.

对于GETComicBook我可以回相声,和所有的封面,包括他们的base64'ed图像.获得一部漫画可能不是什么大不了的事.但是假设我正在构建一个客户端应用程序,希望在表格中列出系统中的所有漫画.
该表将包含ComicBook资源中的一些属性,但我们当然不希望显示表中的所有封面.返回1000本漫画书,每本漫画书都有多个封面,这将导致大量数据流过网络,在这种情况下,最终用户不需要这些数据.

我的直觉是制作Cover资源并ComicBook包含封面.所以现在Cover是一个URI.GET漫画书现在可以使用,而不是Cover我们为每个封面发回一个URI 的巨大资源,客户可以根据需要检索封面资源.

现在我在创建新漫画方面遇到了问题.当我创建一个时,我肯定想要创建至少一个封面Comic,事实上这可能是一个商业规则.
所以现在我卡住了,我要么强制客户端通过先提交给执行业务规则Cover,获得URI为盖,然后POST荷兰国际集团一个ComicBook与URI列表,或者我POSTComicBook需要在寻找不同的资源比它吐出出.传入的资源是POSTGET深拷贝,其中传出的GETs包含对依赖资源的引用.

Cover在任何情况下,资源可能都是必要的,因为我确信作为客户,我想在某些情况下解决覆盖方向问题.因此,无论依赖资源的大小如何,问题都以一般形式存在.一般来说,如何处理复杂的资源而不强迫客户只是"知道"这些资源是如何组成的?

api rest resources nested-resources

171
推荐指数
2
解决办法
5万
查看次数

API的含义究竟是什么?

我在编程语言中搜索了API的定义,但我仍然觉得很难理解.

任何人都可以用简单的外行人的话来建议我:

  1. 什么是API?
  2. 怎么用?
  3. 何时何地使用?

api

159
推荐指数
10
解决办法
31万
查看次数

用于创建PDF的最佳C#API

你能为C#推荐任何PDF API吗?免费是最好的,但我不介意付钱.

.net c# api pdf-generation

156
推荐指数
4
解决办法
24万
查看次数

为什么C++库和框架从不使用智能指针?

我在一些文章中读到,几乎从不使用原始指针.相反,它们应始终包含在智能指针内,无论是作用域还是共享指针.

但是,我注意到像Qt,wxWidgets和像Boost这样的库这样的框架永远不会返回也不会期望智能指针,就好像它们根本就没有使用它们一样.相反,他们返回或期望原始指针.有什么理由吗?当我编写公共API时,我应该远离智能指针,为什么?

只是想知道为什么许多重大项目似乎避免使用智能指针.

c++ api pointers smart-pointers

156
推荐指数
5
解决办法
3万
查看次数

将枚举转换为集/列表

是否有一些单行桥接方法将给定的枚举转储到java.util.List或java.util.Set?

某些内置类似Arrays.asList()Collection.toArray()应该存在的东西,但我无法在IntelliJ调试器的评估窗口中找到它(以及Google/SO结果).

java api collections conventions

155
推荐指数
5
解决办法
9万
查看次数

哪些在线经纪商提供API?

所以我对E*TRADE感到非常厌恶,作为一名开发人员,我很乐意找到一个提供API的在线经纪人.能够编写我自己的交易工具,甚至修改现有的交易工具会很棒.

根据我迄今为止的研究,我只找到了一个选项.Interactive Brokers提供多语言API(Java/C++/ActiveX/DDE),并且具有相当不错的佣金率.我想确保没有任何其他选择,我应该考虑.有任何想法吗?

更新:根据目前为止的答案,这是一个快速列表......

api trading stocks

154
推荐指数
3
解决办法
10万
查看次数

什么是端点?

我一直在阅读OAuth,它一直在讨论端点.什么是端点?

authentication api oauth endpoint

152
推荐指数
9
解决办法
15万
查看次数


REST API - 为什么要使用PUT DELETE POST GET?

所以,我正在浏览一些关于创建REST API的文章.其中一些建议使用所有类型的HTTP请求:比如PUT DELETE POST GET.我们将创建例如index.php并以这种方式编写API:

$method = $_SERVER['REQUEST_METHOD'];
$request = split("/", substr(@$_SERVER['PATH_INFO'], 1));

switch ($method) {
  case 'PUT':
    ....some put action.... 
    break;
  case 'POST':
    ....some post action.... 
    break;
  case 'GET':
    ....some get action.... 
    break;
  case 'DELETE':
    ....some delete action.... 
    break;
}
Run Code Online (Sandbox Code Playgroud)

好的,授予 - 我对Web服务还不太了解(还).但是,通过常规或(包含方法名称和所有参数)接受JSON对象并不是更容易,然后也以JSON响应.我们可以通过PHP轻松地序列化/反序列化,并且可以使用该数据执行任何操作,而无需处理不同的HTTP请求方法.POSTGETjson_encode()json_decode()

我错过了什么吗?

更新1:

好的 - 在深入研究各种API并学习了很多关于XML-RPC,JSON-RPC,SOAP,REST后,我得出结论,这种类型的API是合理的.实际上堆栈交换几乎在他们的站点上使用这种方法,我认为这些人知道他们正在做什么Stack Exchange API.

php api rest json soap

151
推荐指数
6
解决办法
12万
查看次数

正确的HTTP状态代码到错误的输入

什么是最佳HTTP响应代码不报告200(一切正常)但输入错误?

比如,你向服务器提交一些数据,它会回应你的数据是错误的

使用500看起来更像服务器问题
使用200警告/错误响应文本是坏的(允许缓存,一切都不好)
使用204和返回任何东西,可能是好的(但很好支持?)如果请求的路径(脚本)可用,则
使用404错误在适当的地方

api validation http

149
推荐指数
4
解决办法
8万
查看次数