axios.delete
๋ณ์นญ์ ์ฌ์ฉํ ๋ data
๋ฅผ ์ง์ ํ์ง ์์ผ๋ฉด API ํธ์ถ๊ณผ ํจ๊ป ํ์ด๋ก๋๊ฐ ์ ์ก๋์ง ์์ต๋๋ค.
๋๊ฐํด์ผ๋๋:
axios.delete(URL, {
data: { foo: 'bar' }
})
๋์ ์
axios.delete(URL, { foo: 'bar' })
์ด์ ๋ฐ๋ฅด๋ฉด data
๋ฅผ ์ ์ํ ํ์๊ฐ ์์ต๋๋ค. data
๋ฅผ ์ง์ ํ์ง ์๊ณ ํ์ด๋ก๋์ ํจ๊ป ๋ค๋ฅธ ๋ฐฉ๋ฒ์ ์ฌ์ฉํ ์ ์์์ต๋๋ค.
์๋์, ์๋ํ์ง ์์ต๋๋ค.
Axios์ ์ ๋ฌํด์ผ ํ๋ ๊ฒ์ ์์ฒญ ๊ตฌ์ฑ ๊ฐ์ฒด ์ด๋ฉฐ ์ด ๊ฐ์ฒด์์ data
๋ฐ params
์์ฑ์ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.
์ด ๋ฐฉ๋ฒ: axios.delete(URL, {params: {foo: 'bar'}})
delete request
์์๋ $ data
params
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.
// "data" is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
// When no
๋ณํ ์์ฒญ is set, must be of one of the following types:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - Browser only: FormData, File, Blob
// - Node only: Stream
data: {
firstName: 'Fred'
},
@charlesrochati ํผ๋์ค๋ฝ์ต๋๋ค. params
๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ ๋ณ์๋ฅผ ๋ณด๋ด๋ ๊ฒ์
๋๋ค. ๊ทธ๊ฑด ์ ๊ฐ ํ๋ ์ผ์ด ์๋๋๋ค.
์์์ ์ธ์ฉ ํ ๊ฒ์ ๊ดํด์๋ delete
์ ๋ํด ์๋ฌด ๋ง๋ํ์ง ์์ต๋๋ค.
params๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ ๋ณ์๋ฅผ ๋ณด๋ด๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฑด ์ ๊ฐ ํ๋ ์ผ์ด ์๋๋๋ค.
axios.delete
๋ฅผ ๋ง๋ค๊ณ ์ถ๋ค๋ฉด ๊ทธ๊ฒ์ด ๋ฐ๋ก ๋น์ ์ด ํด์ผ ํ ์ผ์
๋๋ค.
axios.delete(URL, {
๋ฅผ ์ฌ์ฉํ์ง ์์ต๋๋ค.
data: { foo: 'bar' }
//์์ฒญ ๋ฉ์๋ 'PUT', 'POST' ๋ฐ 'PATCH'์๋ง ์ ์ฉ ๊ฐ๋ฅ
})
์ญ์ ์์ฒญ์ ๊ฒฝ์ฐ axios.delete(URL, {
๋ฅผ ์ฌ์ฉํฉ๋๋ค.
params: { foo: 'bar' }
})
'PUT', 'POST' ๋ฐ 'PATCH'๋ฅผ ์ฌ์ฉํ ๋๋ง ์์ฒญ ๋ณธ๋ฌธ์ผ๋ก ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ ๋๋ค.
axios.post
๋๋ ( axios.put
๋๋ axios.patch
) axios.delete
๋ฅผ ์ฌ์ฉํ๊ณ ๊ณ์ ๊ฒ ๊ฐ์ต๋๋ค. axios.delete
$ ๋ฅผ ์ฌ์ฉํ ๋ ์๋ฒ์ id
์ ๋ณด๋ด๊ณ ์๋ฒ ์์ฒด๋ id ์ฃผ์ด์ง id
์ ์ผ์นํ๋ resource
์ ์ฐพ์ต๋๋ค. ์ ๊ฑฐ๋ฉ๋๋ค(๋๋ ์ผ๋ถ ์์
์ ํธ๋ฆฌ๊ฑฐํ์ง๋ง ์์ฒญ์ http delete
๋ก ๋งคํ๋จ).
axios.delete(URL, {
๋ฅผ ์ฌ์ฉํ์ฌ
data: { foo: 'bar' }
})
resource
๋ฅผ ๋ณด๋ด๋๋ฐ ์ ํ ๋ง์ด ์ ๋ฉ๋๋ค.
์๋ ๋งํฌ๋ฅผ ๋ณด์๋ฉด ๋ ์ ์ดํด๊ฐ ๋์ค ๊ฒ๋๋ค.
https://www.w3.org/Protocols/rfc2616/rfc2616-sec9.html [์น์ 9.7]
HTTP DELETE ๋ฉ์๋์๋ ์์ฒญ ๋ณธ๋ฌธ์ด ์์ด์ผ ํฉ๋๋ค. DELETE๋ URI๋ก ์๋ณ๋ ๋ฆฌ์์ค๋ฅผ ์ ๊ฑฐํ๋๋ก ์๋ณธ ์๋ฒ์ ์ง์ํฉ๋๋ค.
์ ๊ฒฝ์ฐ์๋ ํ์ด๋ก๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ ์ชฝ์ด๋ data
๋ฅผ ์ฌ์ฉํ์ฌ ์๋ํ๋ ๊ฒฝ์ฐ ์ฝ์์ ์ฌ์ฉํ์ฌ ์๋ํด์ผ ํฉ๋๋ค.
ํธ์ง: ์ฌ์ ์ ํ์ด๋ก๋ ์ ๋ฌ์ ํ์ฉ/๊ธ์งํ์ง ์์ต๋๋ค.
axios.delete์ ๋ํ ์ฝ์ด๋ ์์ต๋๋ค.
axios.request(๊ตฌ์ฑ)
axios.get(url[, ๊ตฌ์ฑ])
axios.delete(url[, ๊ตฌ์ฑ])
axios.head(url[, ๊ตฌ์ฑ])
axios.post(url[, ๋ฐ์ดํฐ[, ๊ตฌ์ฑ]])
axios.put(url[, ๋ฐ์ดํฐ[, ๊ตฌ์ฑ]])
axios.patch(url[, ๋ฐ์ดํฐ[, ๊ตฌ์ฑ]])
@AkiraLaine ์ฌ์๋ GET์ ๋ํ ์์ฒญ ๋ณธ๋ฌธ์ ๋ณด๋ด๋ ๊ฒ์ ๊ธ์งํ์ง ์์ต๋๋ค. axios๋ ๋ํ GET ์์ฒญ์์ ์์ฒญ ๋ณธ๋ฌธ์ ๋ณด๋ด๊ธฐ ์ํด ์๊ธฐ ํ๊ธฐ๋ฒ์ ์ฌ์ฉํ ์ ์๋๋ก ํ์ฉํด์ผ ํฉ๋๊น?
์์๋๋ ๋์์ด๋ฏ๋ก ๋ฌธ์ ๋ฅผ ์ข ๋ฃํฉ๋๋ค.
@cggaurav ์ง์๋ฉ๋๋ค.
axios.delete('/some/uri', { body: 'my delete body' })
์ฐธ๊ณ ๋ก ์๋ฒ์์๋ ์ด์ ๊ฐ์ด axios.delete('/some/uri', {params: { id: 1 } })๋ฅผ ์ฌ์ฉํ ๋ req.params ๋์ req.query์ id๊ฐ ํ์๋ฉ๋๋ค. ๊ทธ๋ฅ ๊ฑฐ๊ธฐ์ ๋์ง๊ณ ์ถ์์ต๋๋ค.
@aricsangchat ์ axios์ ์ ํ ๊ด๋ จ์ด ์๋ express๋ฅผ ์ฌ์ฉํ๊ณ ์๊ธฐ ๋๋ฌธ์ผ ์ ์์ต๋๋ค. express๊ฐ params
๋ฅผ ์ฐธ์กฐํ ๋ ์์ฒญ ๊ฒฝ๋ก์์ ์ผ์นํ๋ ๋์ ๊ฐ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. axios๊ฐ params
๋ฅผ ์ฐธ์กฐํ ๋ ์ด๋ ์ฟผ๋ฆฌ ๋ฌธ์์ด ๋งค๊ฐ๋ณ์๋ฅผ ์ฐธ์กฐํ๋ ๊ฒ์
๋๋ค.
// Express
router.get('/:foo/:bar', (req, res) => {
res.json({
query: req.query,
params: req.params
})
})
// Axios
axios.get('/some/uri', { params: { id: 1 } })
.then((response) => console.log(response.data))
์คํํ์ฌ ์ป์ ์ ์๋ ์ถ๋ ฅ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
{
"query": { "id": 1 },
"params": {
"foo": "some",
"bar": "uri"
}
}
@jcready ๋ค , ์ฐ๋ฆฌ์ ์ค์ ์ ๋๋ค.
์ญ์ ๋ ๋ณธ๋ฌธ(์: ๊ฒ์๋ฌผ)์ ๊ฐ์ง ์ ์๋ค๊ณ ์ด๋์ ์ฐ์ฌ ์์ต๋๊น? axios๊ฐ https://tools.ietf.org/html/draft-ietf-httpbis-p2-semantics-19#page -23์ ์ง์ํ๋ฉด ์ข์ ๊ฒ์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค
์ฐธ๊ณ ๋ก DELETE์ ๋ณธ๋ฌธ์ด ์์ด์ผ ํ๋ ๊ณต์ ํ ์ . ๊ทธ๋ฌ๋ API๊ฐ ์ ์ดํ ์ ์์ ๋ ๋ณธ๋ฌธ ์ ๋ณด๋ด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์
https://auth0.com/docs/api/authorization-extension#remove -user-from-roles ๐
@duhseekoh
const extension_url = 'mycompany.auth0.com'
const access_token = 'abc123'
const user_id = 12345
const role_id = 67890
axios.delete(`https://${extension_url}/users/${role_id}/roles`, {
headers: {
'Authorization': `Bearer ${access_token}`,
'Content-Type': 'application/json'
},
body: JSON.stringify([
user_id
])
})
@jcready - ์๋ฅผ ๋ค์ด ์ฃผ์ ์ ๊ฐ์ฌํฉ๋๋ค. axios๋ฅผ ์ฌ์ฉํ ๋ ๋ณธ๋ฌธ์ด DELETE๋ก ์ ๋ฌ๋์ด์ผ ํ๋ ์ด์ ์ ๋ํ ๋ช ๊ฐ์ง ์ถ๋ก ์ ์ถ๊ฐํ๊ณ ์ถ์์ต๋๋ค.
@duhseekoh ์๋ง๋ ์ด๊ฒ์ด ๋์์ด ๋ ๊ฒ์ ๋๋ค: https://github.com/axios/axios/issues/897#issuecomment -343715381
const response = await axios.delete('/api/matches/delete_match', {
data: { matchInfo }
});
data
์ ํจ๊ป ์๋ํ์ง๋ง "axios": "^0.17.1"
๋ฒ์ ์ $ params
์์๋ ์๋ํ์ง ์์ต๋๋ค.
@quinnliu data
๋๋ params
์ฌ์ฉ์ ์ ํํ๋ ๊ฒ์ ๋ฐฑ์๋๊ฐ ์์ฒญ์ ์ฒ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ๋ฌ๋ ค ์๋ค๊ณ ์๊ฐํฉ๋๋ค.
data
๋ฅผ ์ฌ์ฉํ๋ ๊ฒ์ post
์ ๋ง์ฐฌ๊ฐ์ง๋ก ์์ฒญ ๋ณธ๋ฌธ ์์ ํ์ด๋ก๋๋ฅผ ๋ฃ๋ ๊ฒ์
๋๋ค.params
๋ฅผ ์ฌ์ฉํ๋ฉด ํ์ด๋ก๋๋ฅผ URL ๋งค๊ฐ๋ณ์๋ก ์ทจ๊ธํฉ๋๋ค. ๋ณด๋ด์ฃผ์๋ฉด ์ข์์axios.delete(URL, {
params: { foo: 'bar' }
})
URL?foo=bar.
๋ก ์์ฒญ์ ๋ณด๋ด๋ ๊ฒ๊ณผ ๊ฐ์ต๋๋ค.
api์ axios์์ ์ถ์ํ. ๋ฐ์ดํฐ์ ๋งค๊ฐ๋ณ์: ์ด๋ฆ๋ง
``
api.delete(
/projects/${idProjectTech}/techs`, {๋ฐ์ดํฐ: { ์ด๋ฆ: ๋ฐ์ดํฐ ์ด๋ฆ }})
๊ฐ์ฅ ์ ์ฉํ ๋๊ธ
์๋์, ์๋ํ์ง ์์ต๋๋ค.
Axios์ ์ ๋ฌํด์ผ ํ๋ ๊ฒ์ ์์ฒญ ๊ตฌ์ฑ ๊ฐ์ฒด ์ด๋ฉฐ ์ด ๊ฐ์ฒด์์
data
๋ฐparams
์์ฑ์ ์ฐพ์ ์ ์์ต๋๋ค. ์๋ฒ์ ๋ฐ์ดํฐ๋ฅผ ๋ณด๋ด๋ ๋ฐ ์ฌ์ฉํฉ๋๋ค.์ด ๋ฐฉ๋ฒ:
axios.delete(URL, {params: {foo: 'bar'}})
delete request
์์๋ $data
params
๋ฅผ ์ฌ์ฉํด์ผ ํฉ๋๋ค. ๋ฌธ์๋ฅผ ์ฐธ์กฐํ์ธ์.// "data" is the data to be sent as the request body
// Only applicable for request methods 'PUT', 'POST', and 'PATCH'
// When no
๋ณํ ์์ฒญis set, must be of one of the following types:
// - string, plain object, ArrayBuffer, ArrayBufferView, URLSearchParams
// - Browser only: FormData, File, Blob
// - Node only: Stream
data: { firstName: 'Fred' },