todolist 서비스 v2.0

(node.js + express + mongodb + mongoose + jwt)

  • 간단한 RESTful Service 예제입니다. 내용은 사이드 메뉴를 열어서 확인하세요.
  • 할일목록 앱(Todo List App)을 지원하는 서비스입니다.
  • 테스트용 서비스이므로 할일 데이터는 추가한 후 14일이 지나면 자동 삭제됩니다.
  • /todolist/... 경로를 /todolist_long/... 으로 변경하여 요청하면 1초의 지연시간 후에 응답합니다.

: 새로운 사용자 등록과 샘플용 todo 3개 등록

- POST 파라미터
  • id : 사용자의 식별자로 사용할 email 주소
  • username : 사용자의 이름
  • password : 패스워드
- 요청 형식
{
    "id":"gdhong@test.com",
    "username" : "홍길동",
    "password" : "123456"
}
- 응답데이터 형식
{
    "status": "success",
    "message": "사용자 생성 성공",
    "_id": "gdhong@test.com"
}

: 로그인 처리

- POST 파라미터
  • id : id로 사용하는 email 주소
  • password : 패스워드
- 요청 형식
{
    "id":"gdhong@test.com",
    "password" : "1234"
}
- 응답데이터 형식
{
    "status": "success",
    "message": "로그인 성공",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJ1c2Vyc19pZCI6ImdkaG9uZzJAdGVzdC5jb20iLCJyb2xlIjoidXNlcnMiLCJpYXQiOjE1NzgxMjQxMTEsImV4cCI6MTU3ODcyODkxMX0.YJBMCjkpwReN2DPMFYhvba1CWtGUUF8Kw6p0h2xvmuQ"
}

: 사용자의 할일 목록 조회

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
- 응답데이터 형식(성공)
{
    "status": "success",
    "todolist": [
        {
            "_id": "5e103eef5f0cf40017a61727",
            "users_id": "gdhong2@test.com",
            "todo": "ES6 공부",
            "desc": "ES6공부를 해야 합니다",
            "done": true
        },
        ......
    ]
}
- 응답데이터 형식(실패)
{
   "status": "fail",
   "message": "[에러메시지]"
}

: 특정한 한건의 todo 정보 조회

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
  • :id : Todo 한 건의 id
- 응답데이터 형식(성공)
{
    "status": "success",
    "todo": {
        "_id": "5e103eef5f0cf40017a61727",
        "users_id": "gdhong2@test.com",
        "todo": "ES6 공부",
        "desc": "ES6공부를 해야 합니다",
        "done": false
    }
}
- 응답데이터 형식(실패)
{
   "status": "fail",
   "message": "[에러메시지]"
}

: 새로운 할일 추가

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
  • todo : Todo 할일명
  • desc : 할일에 대한 설명
- POST 요청 형식
{
    "todo":"디자인 시안 작성",
    "desc" : "12.6까지 제품 디자인 시안 작성하여 개발팀에 전달"
}
- 응답데이터 형식(성공)
{
    "status": "success",
    "message": "연락처 추가 성공",
    "todo": {
        "_id": "5e1046c25f0cf40017a6172c",
        "users_id": "gdhong@test.com",
        "todo":"디자인 시안 작성",
        "desc" : "12.6까지 제품 디자인 시안 작성하여 개발팀에 전달",
        "done": false
    }
}
- 응답데이터 형식(실패)
{
   "status": "fail",
   "message": "[에러메시지]"
}

: 할일 한 건 변경

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
  • :id : Todo 할일의 id
- PUT 요청 형식
{
    "todo":"디자인 시안 작성(11.10)",
    "desc" : "12.6까지 제품 디자인 시안 작성하여 개발팀에 전달.-->12.5까지로 변경",
    "done" : false
}
- 응답데이터 형식(성공)
{
    "status": "success",
    "message": "할일 업데이트 성공",
    "_id": "5e103f6f5f0cf40017a6172b"
}
- 응답데이터 형식(실패)
{
   "status": "fail",
   "message": "[에러메시지]"
}

: 할일 한건의 삭제

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
  • :id : Todo 한 건의 id
- 응답데이터 형식
{
    "status": "success",
    "message": "할일 삭제 성공",
    "_id": "5e103f6f5f0cf40017a6172b"
}
- 응답데이터 형식(실패)
{
"status": "fail",
"message": "[에러메시지]"
}

: 할일 한건의 완료(done) 값을 toggle 함.

- 전달 파라미터
  • Token : Authorization 요청 헤더로 전송해야 함. ex) Authorization : Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpX....
  • :id : Todo 한 건의 id
- 응답데이터 형식
{
    "status": "success",
    "message": "할일 완료 처리 성공",
    "_id": "5e103f6f5f0cf40017a6172b"
}
- 응답데이터 형식(실패)
{
"status": "fail",
"message": "[에러메시지]"
}