Объект params

Может передаваться при вызове функции ресурса.

{
  params,
  query,
  data,
  url,
  hooks
}

Свойства объекта params

  • params

    • тип: Object

    Те переменные и их значения, что будут подставлены в путь.

// resource profile
const resource = {
    name: 'profile'
    get: '/profile/:id'
}

api.profile({ params: { id: 5 } }) // /profile/5
  • query

    • тип: Object

    Объект с query параметрами, который будет преобразован в querystring средствами axios

api.profile({ query: { name: 'Foo', age: 25 } }) // /profile?name=Foo&age=25
  • data
    • тип: Object | FormData

Объект с данными или FormData которые нужно передать вместе с запросом. Подробней в документации axios https://github.com/mzabriskie/axios#request-config

  • url

    • тип: string

    Строка url которая будет распарсена на данные, если пути совпадают. Подробней чуть дальше.

  • hooks

    • тип: Array<Async Fuction | Promise>

    Массив хуков который выполнится при запросе.

Свойство url

Часто при использовании крупных фреймворков и их встроенной пагинации, фреймворк при передачи данных для страницы отдает еще ссылки на следующую страницу и предыдущую в таком виде.

{
    nextPage: 'http://site.com/api/v1/profiles?page=3&limit=10',
    prevPage: 'http://site.com/api/v1/profiles?page=1&limit=10',
    data: { ... } //
}

И чтоб каждый раз не разбирать строку самому, можно передать весь url в нужный ресурс и apipie сам ее разберет и вызовет с параметрами в ней.

// resource foo
const foo = {
    name: 'foo',
    get: 'api/v1/foo/:id'
}

api.foo({
    url: 'http://site.com/api/v1/foo/5?page=3&limit=10'
}) // { params: 5, query: { page: '3', limit: '10' } }

Если совпадаения путей не будет, то apipie сообщит об ошибке.

api.foo({
    url: 'api/v1/foo/5'
}) // ok

api.foo({
    url: 'api/v1/bar/5'
}) 
// Error Mismatch the path or not enough params for this url: api/v1/foo/:id. Received this api/v1/bar/5

results matching ""

    No results matching ""