상세 컨텐츠

본문 제목

/bcf/{version}/projects/{project_id} PUT요청

node.js

by 주초위왕 2025. 4. 29. 20:01

본문

1. Request URL

perl
복사편집
https://virtserver.swaggerhub.com/opencde/BCF-OpenAPI-3.0/3.0/bcf/3.0/projects/%ED%8F%AC%E3%85%93
  • 특정 프로젝트를 조회(GET) 하거나 수정(PUT) 하기 위한 API 주소야.
  • %ED%8F%AC%E3%85%93은 URL 인코딩된 project_id (예: 한글 포함).

✅ 2. curl 요청 예시

bash
복사편집
curl -X "PUT" \ "https://.../projects/{project_id}" \ -H "accept: application/json" \ -H "Content-Type: application/json" \ -d "{\"name\": \"string\"}"
  • 이건 해당 프로젝트의 이름을 "string"으로 바꾸는 PUT 요청이야.
  • 실제로 사용할 땐 "string" 대신 수정할 프로젝트 이름을 넣으면 돼.

✅ 3. Response Body

json
복사편집
{ "project_id": "B724AAC3-5B2A-234A-D143-AE33CC18414", "name": "Example project 3 - Second Section", "authorization": { "project_actions": [ "update" ] } }
  • 서버가 응답으로 보내준 JSON 데이터야.
  • 프로젝트 이름이 잘 수정되었고, 너에게 update 권한이 있다는 걸 알려줘.

✅ 4. Media Type

  • application/json: 요청과 응답 모두 JSON 형식으로 이루어짐.
  • Swagger에서 보여주는 "Example Value"는 응답 예시 데이터로 참고용이야.

const putProject = async (req, res) => {
  console.log('#PUT 프로젝트 name 수정');
  const { projectId } = req.params;
  const { name } = req.body;

  try {
    console.log('수신된 데이터:', { projectId, name });

    // 업데이트 쿼리문
    const sql = `
        UPDATE  project
           SET  NAME = ?
         WHERE  project_id = ?;
                `;

    const values = [name, projectId];
    // authorization을 JSON 문자열로 변환 (MySQL JSON 컬럼이라면 필요)
    // const values = [project_id, name, JSON.stringify(authorization), project_id];

    const [results] = await query(sql, values);

    if (results.affectedRows > 0) {
      res.json({
        message: '프로젝트 name업데이트 성공!',
        projectId: name,
      });
    } else {
      res.status(404).json({ message: '해당 프로젝트를 찾을 수 없음' });
    }
  } catch (error) {
    res.status(500).json({ message: '서버 오류 발생' });
  }
}
반응형

댓글 영역