์ด๋ค ๊ฒฝ์ฐ์๋ ํ์ด์ง ๋งค๊น ์์ด ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํด์ผ ํฉ๋๋ค.
๋ฌธ์ #219๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๋๋ ๋ค์๊ณผ ๊ฐ์ด ํ ์ ์์ต๋๋ค.
app.service('orders').find({paginate: false})
๊ทธ๋ฌ๋ ํด๋ผ์ด์ธํธ๊ฐ ์๋ ์๋ฒ ์ธก์์ ๋ด๋ถ์ ์ผ๋ก๋ง ์๋ํฉ๋๋ค.
ํด๋ผ์ด์ธํธ ๋๋ ์ด์ ๊ฐ์ ์ฟผ๋ฆฌ ๋ฌธ์์ด์์ ์๋ํ ์ ์๋ค๋ฉด ์ข์ ๊ฒ์
๋๋ค.
http://api.com/orders?$limit=-1
service.paginate.max = false์ธ ๊ฒฝ์ฐ
๋๋
http://api.com/orders?$paginate=false
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๊ฒ์ ์ข์ ์ด์ ๋ก ๋นํ์ฑํ๋์ด ์์ง๋ง(ํ์ด์ง ๋งค๊น์ ๋นํ์ฑํํ๋ฉด ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ชจ๋๊ฐ ๋ค์ด๋ ์ ์๋ ์์ฒ ๊ฐ์ ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ) ๊ฐ๋จํ ํํฌ ๋ก ์ ์ํ ๋๋ก ํ์ด์ง ๋งค๊น์ ๋นํ์ฑํํ๋๋ก ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ๋งคํํ ์ ์์ต๋๋ค.
app.service('myservice').before({
find(hook) {
if(hook.params.query.$limit === '-1') {
hook.params.paginate = false;
delete hook.params.query.$limit;
}
}
});
์๋ํฉ๋๋ค, ๋น ๋ฅธ ์๋ต์ ๊ฐ์ฌ๋๋ฆฝ๋๋ค
์ด ๋ฌธ์ ๋ ๋ซํ ํ ์ต๊ทผ ํ๋์ด ์์๊ธฐ ๋๋ฌธ์ ์๋์ผ๋ก ์ ๊ฒผ์ต๋๋ค. ๊ด๋ จ ๋ฒ๊ทธ์ ๋ํด์๋ ์ด ๋ฌธ์ ์ ๋ํ ๋งํฌ๊ฐ ์๋ ์ ๋ฌธ์ ๋ฅผ ์ฌ์ญ์์ค.
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
๊ธฐ๋ณธ์ ์ผ๋ก ์ด๊ฒ์ ์ข์ ์ด์ ๋ก ๋นํ์ฑํ๋์ด ์์ง๋ง(ํ์ด์ง ๋งค๊น์ ๋นํ์ฑํํ๋ฉด ์๋ฒ์ ํด๋ผ์ด์ธํธ ๋ชจ๋๊ฐ ๋ค์ด๋ ์ ์๋ ์์ฒ ๊ฐ์ ๋ ์ฝ๋๊ฐ ์๋ ๊ฒฝ์ฐ) ๊ฐ๋จํ ํํฌ ๋ก ์ ์ํ ๋๋ก ํ์ด์ง ๋งค๊น์ ๋นํ์ฑํํ๋๋ก ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์๋ฅผ ๋งคํํ ์ ์์ต๋๋ค.