-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathabout_used_API.txt
78 lines (59 loc) · 6.4 KB
/
about_used_API.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
Загальна інформація API: API Marvel Comics є RESTful сервісу, який надає методи для доступу до певних ресурсів в канонічних URL, так і для пошуку і фільтрації набору ресурсів за різними критеріями. Все кодується як об'єкти JSON.
Служба Endpoint: Базовий EndPoint Marvel Comics API є http(s)://gateway.marvel.com/.
Ресурси: В загальному можна отримати доступ до шести типів ресурсів за допомогою API:
Comics: індивідуальний друк і цифрові комікси, колекції і графічні романи. Наприклад: Amazing Fantasy #15.
Comic series: послідовно пронумеровані групи коміксів з такою ж назвою. Наприклад: Uncanny X-Men.
Comic stories: неподільні, багаторазові компоненти коміксів.
Comic events and crossovers: великі, всесвітні зміни в сюжетні. Наприкад: Infinity
Creators: жінки, чоловіки і організації, які створюють комікси. Наприклад: Jack Kirby.
Characters: жінки, чоловіки, організації, чужорідні види, божества, тварини, нематеріальні істоти, транс-мірні прояви, абстрактні персоніфікації і зелені аморфні Блоби які займають Marvel Universe (і різні альтернативні всесвіти, тимчасові рамки і змінені реальності в ній). Наприклад: Spider-Man.
Всі типи сутностей докладно описані в огляді типів сутностей і уявлень.
Ідентифікація: Всі запити до API, повинні бути завірені за допомогою методів, викладених в директивах запиту підпису і аутентифікації. Запити, як правило, зазнають невдачі аутентифікації при передачі коду 401 протоколу.
Але виникає повідомлення про помилку з зазначенням причини відмови.
Machine-Readable Documentation: Всі EndPoints API задокументовані у вигляді машиночитаних образах з використанням специфікації swadder-doc. Ці образи доступні на http://gateway.marvel.com/docs.
Деякі уривки з запитами: HTTP Verbs: Всі endpoints приймають тільки HTTP GET запити.
ETags: Найбільш успішні результати будуть містити «Etag» атрибут і заголовок HTTP ETag з дайджестом повернутого змісту. Для того, щоб зберегти пропускну здатність і зробити додаток більш продуктивним, можна опціонально передати «If-None-Match» HTTP заголовок, з цим переправити для запиту на той же URL.
Якщо зміст не змінилося з моменту останнього запиту, код відповіді буде повертатися з порожнім тілом і не модифікується заголовок 304 / HTTP, і можна використовувати раніше збережене значення для змісту.
Примітка: Більшість браузерів буде робити це автоматично, але може знадобитися вручну додати цю логіку на стороні сервера додатків. Наприклад:
Initial request:
Request Url: http://gateway.marvel.com/v1/public/comics
Request Method: GET
Params: {
"apikey": "your api key",
"ts": "a timestamp",
"hash": "your hash"
}
Headers: {
Accept: */*
}
Initial response:
Status Code: 200
Access-Control-Allow-Origin: *
Date: Wed, 18 Dec 2013 22:00:55 GMT
Connection: keep-alive
ETag: f0fbae65eb2f8f28bdeea0a29be8749a4e67acb3
Content-Length: 54943
Content-Type: application/json
Subsequent request:
Request Url: http://gateway.marvel.com/v1/public/comics
Request Method: GET
Params: {
"apikey": "your api key",
"ts": "a timestamp",
"hash": "your hash"
}
Headers: {
Accept: */*
If-None-Match: f0fbae65eb2f8f28bdeea0a29be8749a4e67acb3
}
Subsequent response:
Status Code: 304
Access-Control-Allow-Origin: *
Date: Wed, 28 Jul 2017 22:03:20 GMT
Connection: keep-alive
ETag: f0fbae65eb2f8f28bdeea0a29be8749a4e67acb3
Відповіді повертається з API Marvel Comics сумісні зі специфікацією W3C CORS, що дозволяє будь-які правильно санкціоновані запити обробит з будь-якого домену. Це означає, що не потрібно обертати виклики в JSONP зворотні виклики з метою їх виконання.
Тому віддається перевага використанню JSONP, однак, EndPoints будуть приймати параметр зворотного виклику, і будуть обгортати їх обгорткою JSONP.
Для того, щоб зберегти пропускну здатність і зробити додаток більш продуктивним, то API Marvel Comics може стискати відповіді з GZIP. Можна запитати відповідь GZIP-еd, передаючи заголовок Accept-Encoding в будь-якій EndPoint.
На основі функціональних можливостей API можна розробити пропозицію
по проведенню дослідження на основі даних, які дозволяє отримати список героїв Мarvel, в яких епізодах вони були, і з яким іншим героєм вони там були. Тобто цілком можливо взнати з яким героєм мав поєдинок інший герой.