Ба саҳифаи асосӣ

Маҳдудиятҳо ва истифодаи одилона

Хулосаи ҳар маҳдудияти сахте, ки MockLab татбиқ мекунад, то ҳеҷ чиз дар бораи рафтори захира дар миёнаи лоиҳа ғайричашмдошт наояд.

Маҳдудияти суръат

Ҳар лоиҳа ба 60 дархост дар як дақиқа бар зидди эндпоинтҳои /m/...-и худ маҳдуд аст, бо шумориши барои ҳар key-и лоиҳа — на барои ҳар захира, пас лоиҳае бо се захира як буҷаи 60-дархостаро дар байни ҳамаи онҳо тақсим мекунад. Ҳар ҷавоб ҳедери X-RateLimit-Remaining дорад, ки нишон медиҳад дар равзанаи ҳозира чанд дархост боқӣ мондааст, новобаста аз он ки дархост муваффақ буд ё не, пас клиенти хушрафтор пеш аз баста шудан метавонад суръатро паст кунад, на танҳо баъд аз он фаҳмад.

Аз ҳад гузаред — ва ҷавоби 429 Too Many Requests-ро бо ҳедери Retry-After мегиред, ки чанд сония пеш аз аз нав танзим шудани равзана интизор шудан лозим аст, мегӯяд.

async function fetchWithBackoff(url) {
  const response = await fetch(url);
  if (response.status === 429) {
    const retryAfterSeconds = Number(response.headers.get("Retry-After"));
    await new Promise((resolve) => setTimeout(resolve, retryAfterSeconds * 1000));
    return fetchWithBackoff(url);
  }
  return response;
}
import { useQuery } from "@tanstack/react-query";

function useProducts() {
  return useQuery({
    queryKey: ["products"],
    queryFn: () => fetch("https://mocklab.dev/m/demo7k2m9x/products").then((res) => res.json()),
    // TanStack Query already retries failed requests with backoff by default —
    // a 429 here is retried automatically without any extra code.
    retry: 3,
  });
}

Андозаи саҳифа

limit пешфарз 10 аст ва ҳадди аксар 100 — дархост барои бештар хато намедиҳад, он танҳо хомӯшона то 100 кам карда мешавад. Ҳеҷ маҳдудияте барои count-и умумии сабтҳо дар худи захира вуҷуд надорад; ҳад танҳо ба он татбиқ мешавад, ки дар як саҳифа чанд сабт бармегардад. Барои маҷмӯи пурраи опсияҳои саҳифабандӣ ба Параметрҳои дархост нигаред.

Марзи тартиб/филтри 10,000-сабта

Тартибдиҳӣ, филтр ва ҷустуҷӯ танҳо дар захираҳое, ки 10,000 сабт ё камтар доранд, дастрасанд. Аз он боло, дархост боз ҳам муваффақ мешавад ва дуруст саҳифабандӣ мекунад, аммо он параметрҳо хомӯшона нодида гирифта мешаванд — бо ҳедери ҷавоби X-MockLab-Notice: sort-filter-disabled-above-10000 нишон дода мешавад, на бо хато, зеро худи дархост нодуруст нест. Далели пурра дар Тарзи кори сохтан аст.

CORS

Ҳар ҷавоби /m/... Access-Control-Allow-Origin: *-ро ва коркунандаи воқеии OPTIONS preflight-ро дар бар мегирад, пас муроҷиат ба эндпоинти шумо мустақиман аз JavaScript-и браузер дар ҳар origin бидуни прокси кор мекунад. Чанд ҳедери ҷавоби махсусе, ки дар тамоми ин ҳуҷҷатҳо тасвир шудаанд (X-Total-Count, X-RateLimit-Remaining ва боқӣ) ба таври возеҳ тавассути Access-Control-Expose-Headers нишон дода мешаванд, пас response.headers.get(...) барои ҳар кадоми онҳо аз коди браузер, на танҳо аз клиенти сервер ё хатти фармон, кор мекунад.

Чӣ воқеан бемаҳдуд аст

Ягона чизе, ки ҳадди сахт надорад, count аст — андозаи умумии сабтҳои захира. Ин тамоми маънист: азбаски сабтҳо ба ҷои нигоҳдоштан бо дархост сохта мешаванд, захирае бо як миллион сабт барои сервер ҳамон қадаре ҳарҷ дорад, ки бо даҳто. Маҳдудиятҳои боло барои он вуҷуд доранд, ки хидматро барои ҳар лоиҳае, ки онро тақсим мекунад, одилона нигоҳ доранд, на барои маҳдуд кардани он чизе, ки ягон захираи алоҳида метавонад ифода кунад.