Skip to content

API 명세서

Oh Donggeon edited this page Nov 9, 2020 · 3 revisions

2020년 11.9일 (월) 수정

Swagger API를 이용하여 명세서를 작성중 입니다 링크 : https://app.swaggerhub.com/apis/Zigje9/IssueTracker/1.0.0#/label/post_api_label

  • 이미지 업로드

    URI : http://localhost:3000/api/img/upload

    METHOD: POST

    Request: multi file ...

    서버에서 관리

    {
    	"success": Bool,
    	"message": String,
    	"image_url": String
    }

  • 이슈 추가

    URI : http://localhost:3000/api/issue/

    METHOD: POST

    Request: issue_title, issue_content, issue_author_no,

    Status Code:

{
	"success": Bool,
	"message": String -> 성공 내용 or 에러 내용,
	"new_issue_no": Int
}
{
	"success": Bool,
	"data" : [{
		"issue_no":	Int,				
		"issue_title":	String,				
		"issue_content":	String,				
		"issue_flag":	Bool,				
		"issue_date":	Date,				
		"issue_author_no":	Int,				
		"issue_author_id": String,				
		"milestone_no":	Int,				
		"milestone_title":	String,
		"assignees":[{
			"iu_relation_no": Int,
			"user_no": Int,
			"user_id": String,
			"user_img": String
		},]				
		"labels" : [{
				"il_relation_no":Int,		
				"label_no":	Int,	
				"label_title":	String,		
				"label_color":	String	
								},]
		 },]
}
  • 이슈 필터링 목록 조회

    URI : ?쿼리문 사용

    METHOD: GET

    Request: open, closed, author, assignee, label, milestone, comment

    Status Code:

    {
    	"success": Bool,
    	"data" : [{
    		"issue_no":	Int,				
    		"issue_title":	String,				
    		"issue_content":	String,				
    		"issue_flag":	Bool,				
    		"issue_date":	Date,				
    		"issue_author_no":	Int,				
    		"issue_author_id": String,				
    		"milestone_no":	Int,				
    		"milestone_title":	String,
    		"assignees":[{
    			"iu_relation_no": Int,
    			"user_no": Int,
    			"user_id": String,
    			"user_img": String
    		},]				
    		"labels" : [{
    				"il_relation_no":Int,		
    				"label_no":	Int,	
    				"label_title":	String,		
    				"label_color":	String	
    								},]
    		 },]
    }
  • 마일스톤에 진행률 조회

    URI : http://localhost:3000/api/issue/progress/all

    METHOD: GET

    Status Code:

    {
    	"success":Bool,
    	"data":[{
    		"milestone_no": Int,
    		"milestone_title": String,
    		"due_date": DATETIME,
    		"milestone_description": String,
    		"percent": Float,
    		"open_issue_count": Int,
    		"closed_issue_count": Int
    	},]
    }
  • 이슈 상세 조회

    URI : http://localhost:3000/api/issue/:issue_no

    METHOD: GET

{
		"issue_no":	Int,				
		"issue_title":	String,				
		"issue_content":	String,				
		"issue_flag":	Bool,				
		"issue_date":	DATETIME,				
		"issue_author_no":	Int,				
		"issue_author_id": String,				
		"milestone_no":	Int,				
		"milestone_title":	String,
		"assignees": [{
			"iu_relation_no": Int,
			"user_no": Int,
			"user_id": String,
			"user_img": String
		},]				
		"labels" : [{
				"il_relation_no":Int,		
				"label_no":	Int,	
				"label_title":	String,		
				"label_color":	String	
								},],
		"comments": [{
			"comment_no": Int,
			"comment": String,
			"author_no": Int,
			"author_img": String,
			"comment_date": DATETIME,
		},]
}
{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}
{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}
  • 이슈 전체 수정

    URI : http://localhost:3000/api/issue/all/:issue_no

    Method: PUT

    Request: issue_no, issue_title, issue_content

// Response
{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}
{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}
{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}

  • 댓글 추가

    Method: post

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • 댓글 수정

    Method: put

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • 댓글 삭제

    Method: delete

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }

  • Label 추가

    URI : http://localhost:3000/api/label

    METHOD: POST

    Request: label_title, label_color, label_description

    Status Code:

    {
    	"success": Bool,
    	"message": String -> 성공 내용 or 에러 내용,
    	"new_label_no": Int
    }
  • Label 목록 조회

    URI : http://localhost:3000/api/label

    METHOD: GET

    {
    	"success": Bool,
    	"data": [{
    		"label_no": Int,
    		"label_title": String,
    		"label_color": String
    		"label_description": String
    	},]
    }
  • Label 조회

    URI : http://localhost:3000/api/label/:label_no

    METHOD: GET

    {
    	"success": Bool,
    	"data": {
    		"label_no": Int,
    		"label_title": String,
    		"label_color": String,
    		"label_description": String
    	}
    }
  • Label 수정

    URI : http://localhost:3000/api/label/:label_no

    Method: PUT

    Request: label_title, label_color, label_description

    // Response
    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • Label 삭제

    URI : http://localhost:3000/api/label/:label_no

    Method: DELETE

{
	"success": Bool
	"message": String -> 성공 내용 or 에러 내용
}

  • Milestone 추가

    URI : http://localhost:3000/api/milestone

    METHOD: POST

    Request: milestone_title, due_date(nullable), milestone_description(nullable)

    Status Code:

    {
    	"success": Bool,
    	"message": String -> 성공 내용 or 에러 내용,
    	"new_milestone_no": Int
    }
  • Milestone 목록 조회

    URI : http://localhost:3000/api/milestone

    METHOD: GET

    {
    	"success": Bool,
    	"data": [{
    		"milestone_no": Int,
    		"milestone_title": String,
    		"due_date": DATETIME,
    		"milestone_description": String
    	},]
    }
  • Milestone 조회

    URI : http://localhost:3000/api/milestone/:milestone_no

    METHOD: GET

    {
    	"success": Bool,
    	"data": {
    		"milestone_no": Int,
    		"milestone_title": String,
    		"due_date": DATETIME,
    		"milestone_description": String
    	},
    }
  • Milestone 수정

    URI : http://localhost:3000/api/milestone/:milestone_no

    Method: PUT

    Request: milestone_title, due_date, milestone_description

    // Response
    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • Milestone 삭제

    URI : http://localhost:3000/api/milestone/:milestone_no

    Method: DELETE

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }

  • 이슈에 라벨 추가(issue_label_relation)

    URI : http://localhost:3000/api/issue_label_relation

    METHOD: POST

    Request: [ { "issue_no":Int, "label_no": Int } ]

    Status Code:

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • 이슈에 라벨 목록 조회(issue_label_relation)

    URI : http://localhost:3000/api/issue_label_relation/:issue_no

    METHOD: GET

    {
    	"success": Bool,
    	"data":[{
    		"il_relation_no":Int,
    		"label_no":	Int,	
    		"label_title":	String,		
    		"label_color":	String	
    	},]
    }
  • 이슈에 라벨 삭제(issue_label_relation)

    URI : http://localhost:3000/api/issue_label_relation/:issue_no

    Method: DELETE

    Request: {"label_no_list":[Int, ...]}

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }

  • assignee 추가(issue_user_relation)

    URI : http://localhost:3000/api/issue_user_relation

    METHOD: POST

    Request: [ { "issue_no":Int, "user_no": Int } ]

    Status Code:

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }
  • assignee 목록 조회(issue_user_relation)

    URI : http://localhost:3000/api/issue_label_relation/:issue_no

    METHOD: GET

    {
    	"success": Bool,
    	"data":[{
    		"iu_relation_no":Int,
    		"user_no":	Int,	
    		"user_id":	String,
    		"user_img":	String
    	},]
    }
  • assignee 삭제(issue_user_relation)

    URI : http://localhost:3000/api/issue_user_relation/:issue_no

    Method: DELETE

    Request: {"user_no_list":[Int, ...], "all_clear":boolean}

    {
    	"success": Bool
    	"message": String -> 성공 내용 or 에러 내용
    }

기획서

문서

데일리 스크럼

Week 1
Week 2
Week 3

작업 내역

Week 1 WEB
Week 1 IOS
Week 2 WEB
Week 2 IOS
Week 3 WEB
Week 3 IOS

피어세션

회고

스프린트 계획 회의

Clone this wiki locally