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: '서버 오류 발생' });
}
}
댓글 영역