TIL - 복합 API 만들기

Younkyum J·2022년 8월 12일
0

TIL

목록 보기
6/10

Get을 통해서 Team을 연결할 때, db에서 여러가지 값을 함께 json으로 보내주고자 한다.

우선, get을 선언해주고, 데이터들을 받을 구조체를 만들어 준다.

app.get(`/team`, function (req, res) { // All of Team Users
    const all_data = {team: undefined, members: undefined}
})

그리고 여기서 team 과 members에 각각 팀 정보와 멤버 정보를 전달할 예정이다.
우선, 받은 team_id를 이용하여 db.query를 한다.

app.get(`/team`, function (req, res) {
  const all_data = {team: undefined, members: undefined}
   db.query(`SELECT * FROM team WHERE team_id=?;`, [req.query.id], (err, data) => {
        if (!err) {
            all_data.team = data
        }
        else res.send(err)
    })
})

그리고 Error가 발생하지 않으면, 해당 id를 가진 팀원들을 user 테이블에서 all_data.members에 입력하고 send 해준다.

app.get(`/team`, function (req, res) { // All of Team Users
    const all_data = {team: undefined, members: undefined}
    db.query(`SELECT * FROM team WHERE team_id=?;`, [req.query.id], (err, data) => {
        if (!err) {
            all_data.team = data
            db.query(`SELECT * FROM user WHERE user_team_id=?`, [req.query.id], (err, data) => {
                if (!err) {
                    all_data.members = data
                    res.send(all_data)
                }
                else {
                    res.send(err)
                }
            })
        }
        else res.send(err)
    })  
})

이와 같은 방식을 통해서 MySQL의 서로 다른 테이블 내용을 함께 json으로 보내거나 저장할수 있다.

profile
기획자입니다. 근데 이제 고양이와 애플덕후와 개발을 곁들인.

0개의 댓글