Comments (8)
Maybe, params object should not be set if requestConfig object is not contain paramsSerializer function.
Great idea. I'll change this tomorrow and let you know!
Then will be better specify paramsSerializer in the ResourceWrapper
If I add the check constraint it is indifferent if you just do it on one action or the axios instance.
from vuex-rest-api.
Your code should work. Alternatively you can pass each action a request config. The property's name is requestConfig
.
Example:
resource.addAction({
action: "get",
method: "get",
property: "post",
pathFn: ({ id }) => `/posts/${id}`,
requestConfig: {
paramsSerializer: function(params) {
return Qs.stringify(params, {arrayFormat: 'indices'})
}
}
});
from vuex-rest-api.
Thank you for fast reply, but that solutions (yours and my) wont work. HTTP request is without params of the URL.
from vuex-rest-api.
I'll investigate this issue later today.
from vuex-rest-api.
@elceka Please update your npm package.
from vuex-rest-api.
Thank you, its working.
But now, all actions have set request config, but i set this option only in action for list of models.
Example of store:
import { stringify } from 'qs'
import { createStore } from 'vuex-rest-api'
import ResourceWrapper from './../ResourceWrapper'
const resource = new ResourceWrapper()
.addAction({
action: 'listModels',
method: 'get',
property: 'models',
pathFn: () => `/models`,
requestConfig: {
paramsSerializer: function (params) {
return stringify(params, {arrayFormat: 'indices'})
}
}
})
.addAction({
action: 'getModel',
method: 'get',
property: 'model',
pathFn: ({ id }) => `/models/${id}`
})
.addAction({
action: 'createModel',
method: 'post',
property: 'model',
pathFn: () => `/models`
})
const models = createStore(resource)
export default models
Produced URL for getting one model:
GET http://localhost:8003/api/admin/models/45c6d991-34fc-321f-a2e2-3b921b35a6a1?id=45c6d991-34fc-321f-a2e2-3b921b35a6a1
from vuex-rest-api.
Issue is on this new line of code from Resource class:
const requestConfig = Object.assign({}, options.requestConfig, { params: params });
Maybe, params object should not be set if requestConfig object is not contain paramsSerializer function.
Or, specify all parameters for paramsSerializer function on action of store:
const resource = new ResourceWrapper()
.addAction({
action: 'listModels',
method: 'get',
property: 'models',
pathFn: () => `/models`,
requestConfig: {
paramsSerializer: function ({limit, page, sort}) {
return stringify({limit, page, sort}, {arrayFormat: 'indices'})
}
}
})
...
Then will be better specify paramsSerializer in the ResourceWrapper:
...
options.axios = Axios.create({
headers: {
'Accept': 'application/json',
'Authorization': 'Basic abc...='
},
paramsSerializer: function ({limit, page, sort}) {
return stringify({limit, page, sort}, {arrayFormat: 'indices'})
}
})
...
from vuex-rest-api.
Thank you again, it is working, all is only about implementation.
from vuex-rest-api.
Related Issues (20)
- What does pending really mean? Not sure if this is intended behavior. HOT 2
- V3 - Checklist HOT 2
- Handling rejected promises HOT 3
- Update axios peer dependency HOT 6
- Can't install HOT 5
- Not possible to create a pr HOT 3
- [QUESTION] - Pre API Call Transformation HOT 3
- How to use vuex-rest-api with nuxt.js auth-module HOT 15
- Caching requested data HOT 8
- Using webpack: vuex_rest_api__WEBPACK_IMPORTED_MODULE_0___default.a is not a constructor HOT 4
- Correct way to change state HOT 9
- provide action payload in onSuccess HOT 4
- Add support of mapping response object to typed model objects HOT 1
- Section "calling-the-actions" disapeared from the docs HOT 2
- Not an issue tip for CORS. [Tips] HOT 1
- Callback when rest call completes HOT 2
- Support for Fetch API HOT 4
- Add ability to add "namespaced" option for "getStore" HOT 4
- How to get rid of error&pending in setting a custom state? HOT 7
- Update peer dependency of axios HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from vuex-rest-api.