Javascript conmunicates to java with js-to-java need special schemas, we will preprocess data (if you need a number but get a string parameter) then we can use js-to-java
to wrap js object to java object.
$ npm install converter-z
@converter()
method(
@convert({ type: 'number' }) id: number, // recommend
@convert({ id: { type: 'number' } }) id: number, // deprecated
) {
...
}
@converter()
method(
@convert({ type: 'number' }) ids: number[], // recommend
@convert({ ids: { type: 'number' } }) ids: number[], // deprecated
) {
...
}
@converter()
method(
@convert({ id: { type: 'number' } }) param: { id: number },
) {
...
}
@converter()
method(
@convert({ id: { type: 'number' } }) param: Array<{ id: number }>,
) {
...
}
converter.config({
type: 'increase',
adaptor: (value, required?: boolean, message?:string) => {
let nextValue = value
if (value === '' || value === null || value === undefined) {
if (required) throw new Error(message)
nextValue = null
} else {
nextValue = +value + 1
}
return nextValue
},
})
@converter()
method(
@convert({
ids: {
id: { type: 'number' },
},
}) param: { ids: { id: number } },
) {
...
}
MIT