익스프레스: req.params, req.query 및 req.body

이 세 가지, req.body, req.query 및 req.params는 Express 요청 객체의 일부입니다.
클라이언트가 서버에 데이터를 보내는 데 사용합니다.
이 게시물은 차이점을 설명하고 사용 방법에 대한 예를 제공합니다.

1. 요구사항 본문



일반적으로 POST/PUT 요청에 사용됩니다.
민감한 데이터(예: 양식 데이터) 또는 매우 긴 JSON 데이터를 서버로 보내고 싶을 때 사용합니다.

요청 본문에 데이터를 보내는 방법
  • 컬 사용

  •   curl -d '{"key1":"value1", "key2":"value2"}' -H "ContentType: application/json" -X POST http://localhost:3000/giraffe
    

  • axios 사용

  •   axios.post('/giraffe', {
        key1: 'value1',
        key2: 'value2'
      })
      .then(response => {
        ...
      })
      .catch(error => {
        ...
      })
    

    요청 본문에서 데이터를 가져오는 방법

      app.get('/giraffe', (req, res) => {
       console.log(req.body.key1) //value1
       console.log(req.body.key2) //value2
      })
    


    요청 본문을 구문 분석하기 위해 express.json() 미들웨어를 사용하는 것을 잊지 마세요. 그렇지 않으면 오류가 발생합니다.

    app.use(express.json())
    


    2. 필수 매개변수



    이들은 URL에 첨부된 속성, 즉 명명된 경로 매개변수입니다. 경로를 작성할 때 매개변수 이름 앞에 콜론(:)을 붙입니다.

    예를 들어,

      app.get('/giraffe/:number', (req, res) => {
       console.log(req.params.number)
      })
    


    클라이언트에서 매개변수를 보내려면 해당 이름을 값으로 바꾸면 됩니다.

      GET  http://localhost:3000/giraffe/1
    


    3. 쿼리 요청



    req.query는 주로 검색, 정렬, 필터링, 페이지 매김 등에 사용됩니다.
    예를 들어 API를 쿼리하고 싶지만 10페이지의 데이터만 가져오려면 이것이 일반적으로 사용하는 것입니다.
    키=값으로 작성되었습니다.

      GET  http://localhost:3000/animals?page=10
    


    익스프레스 서버에서 액세스하는 것도 매우 간단합니다.

      app.get('/animals', ()=>{
       console.log(req.query.page) // 10
      })
    


    도움이 되셨기를 바랍니다.

    읽어주셔서 감사합니다 🥰 .

    표지 사진Adi Goldstein on Unsplash

    좋은 웹페이지 즐겨찾기