You've already forked The-API-Book
mirror of
https://github.com/twirl/The-API-Book.git
synced 2025-06-24 22:36:43 +02:00
proofreading
This commit is contained in:
@ -3873,17 +3873,17 @@ let status = api.getStatus(order.id);
|
||||
<pre><code>let order = api.createOrder();
|
||||
let status;
|
||||
while (true) {
|
||||
try {
|
||||
status = api.getStatus(order.id);
|
||||
} catch (e) {
|
||||
if (e.httpStatusCode != 404 ||
|
||||
timeoutExceeded()) {
|
||||
break;
|
||||
}
|
||||
try {
|
||||
status = api.getStatus(order.id);
|
||||
} catch (e) {
|
||||
if (e.httpStatusCode != 404 ||
|
||||
timeoutExceeded()) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (status) {
|
||||
…
|
||||
…
|
||||
}
|
||||
</code></pre>
|
||||
<p>Мы полагаем, что можно не уточнять, что писать код, подобный вышеприведённому, ни в коем случае нельзя. Уж если вы действительно предоставляете нестрого консистентный API, то либо операция <code>createOrder</code> в SDK должна быть асинхронной и возвращать результат только по готовности всех реплик, либо политика перезапросов должна быть скрыта внутри операции <code>getStatus</code>.</p>
|
||||
@ -3955,7 +3955,7 @@ object.observe('widthchange', observerFunction);
|
||||
PUT /v1/api-types/{api_type}
|
||||
{
|
||||
"order_execution_endpoint": {
|
||||
// Описание функции обратного вызова
|
||||
// Callback function description
|
||||
}
|
||||
}
|
||||
</code></pre>
|
||||
@ -3964,12 +3964,12 @@ PUT /v1/api-types/{api_type}
|
||||
PUT /v1/partners/{partnerId}/coffee-machines
|
||||
{
|
||||
"coffee_machines": [{
|
||||
"id",
|
||||
"api_type",
|
||||
"location",
|
||||
"supported_recipes"
|
||||
}, …]
|
||||
}
|
||||
|
||||
</code></pre>
|
||||
<p>Таким образом механика следующая:</p>
|
||||
<ul>
|
||||
@ -4048,7 +4048,7 @@ POST /v1/recipes
|
||||
<pre><code>"product_properties": {
|
||||
// "l10n" — стандартное сокращение
|
||||
// для "localization"
|
||||
"l10n" : [{
|
||||
"l10n": [{
|
||||
"language_code": "en",
|
||||
"country_code": "US",
|
||||
"name",
|
||||
@ -5116,6 +5116,7 @@ Authorization: Bearer <token>
|
||||
<li>техническая поддержка внешних пользователей осуществляется по остаточному принципу.</li>
|
||||
</ul>
|
||||
</li>
|
||||
<li>Разработчики внутренних сервисов часто ломают обратную совместимость или выпускают новые мажорные версии, совершенно не заботясь о последствиях этих действий для внешних партнёрах.</li>
|
||||
</ul>
|
||||
<p>Всё это приводит к тому, что наличие внешнего API зачастую работает не в плюс компании, а в минус: фактически, вы предоставляете крайне критически и скептически настроенной аудитории очень плохой продукт. Если у вас нет ресурсов на грамотное развитие API как продукта для внешних пользователей — лучше за него не браться совсем.</p>
|
||||
<h5><a href="#chapter-52-paragraph-5" id="chapter-52-paragraph-5" class="anchor">5. API = площадка для рекламы</a></h5>
|
||||
|
Reference in New Issue
Block a user