Skip to content

πŸ“– 개발자 λ§Œλ“€κΈ° ν”„λ‘œμ νŠΈ μ„œλ²„ κ΅¬ν˜„

Notifications You must be signed in to change notification settings

khsrla9806/dev-maker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

개발자 λ§Œλ“€κΈ° ν”„λ‘œμ νŠΈ

πŸ› οΈΒ κΈ°μˆ  μŠ€νƒ

Springboot version 2.5.2
java (JDK) version 11
build Gradle
database H2
IDE IntelliJ IDEA

πŸ”—Β Dependencies

org.springframework.boot:spring-boot-starter-data-jpa
org.springframework.boot:spring-boot-starter-validation
org.springframework.boot:spring-boot-starter-web
org.projectlombok:lombok
com.h2database:h2
org.springframework.boot:spring-boot-starter-test

πŸ–₯️ API

  1. 개발자 λ“±λ‘ν•˜κΈ°

    • POST

    • /create-developer

    • [Request]

      {
          "developerLevel" : ["NEW", "JUNIOR", "JUNGNIOR", "SENIOR" 쀑 1개],
          "developSkillType" : ["FRONT_END", "BACK_END", "FULL_STACK" 쀑 1개],
          "experienceYears" : 0 ~ 20 μ‚¬μ΄μ˜ μ •μˆ˜,
          "memberId" : 3 ~ 50자둜 이루어진 λ¬Έμžμ—΄,
          "name" : 3 ~ 20자둜 이루어진 λ¬Έμžμ—΄,
          "age" : μ΅œμ†Œ 18인 μ •μˆ˜ 
      }
    • [Response]

      {
          "developerLevel" : [request둜 λ“€μ–΄μ˜¨ developerLevel],
          "developSkillType" : [request둜 λ“€μ–΄μ˜¨ developSkillType],
          "experienceYears" : [request둜 λ“€μ–΄μ˜¨ experienceYears],
          "memberId" : [request둜 λ“€μ–΄μ˜¨ memberId]
      }
  2. μž¬μ§μ€‘μΈ λͺ¨λ“  개발자 정보 κ°€μ Έμ˜€κΈ°

    • GET

    • /developers

    • [Response]

      [
        {
          "developerLevel": "개발자1의 레벨",
          "developSkillType": "개발자1의 기술",
          "memberId": "개발자1 ID"
        },
          {
          "developerLevel": "개발자2의 레벨",
          "developSkillType": "개발자2의 기술",
          "memberId": "개발자2 ID"
        }
      ]
  3. νŠΉμ • 개발자 정보 κ°€μ Έμ˜€κΈ°

    • GET

    • /developers/{memberId}

    • [Response]

      {
        "developerLevel": "개발자의 레벨",
        "developSkillType": "개발자의 기술",
        "experienceYears": 개발자 κ²½λ ₯,
        "stateCode": "개발자 재직 μƒνƒœ",
        "memberId": "개발자 Id",
        "name": "개발자 이름",
        "age": 개발자 λ‚˜μ΄
      }
      // μš”μ²­ν•œ Idλ₯Ό κ°–λŠ” κ°œλ°œμžκ°€ 없을 λ•Œ
      {
        "errorCode": "NO_DEVELOPER",
        "errorMessage": "ν•΄λ‹Ήλ˜λŠ” κ°œλ°œμžκ°€ μ—†μŠ΅λ‹ˆλ‹€."
      }
  4. 개발자 정보 μˆ˜μ •ν•˜κΈ°

    • PUT

    • /developer/{memberId}

    • [Request]

      {
          "developerLevel" : "μˆ˜μ •ν•˜κ³ μž ν•˜λŠ” 개발자의 레벨",
          "developSkillType" : "μˆ˜μ •ν•˜κ³ μž ν•˜λŠ” 개발자의 기술",
          "experienceYears" : μˆ˜μ •ν•˜κ³ μž ν•˜λŠ” 개발자의 κ²½λ ₯
      }
    • [Response]

      {
        "developerLevel": "μˆ˜μ •ν•œ 개발자 레벨",
        "developSkillType": "μˆ˜μ •ν•œ 개발자 기술",
        "experienceYears": μˆ˜μ •ν•œ 개발자 κ²½λ ₯,
        "stateCode": "개발자의 μž¬μ§μƒνƒœ",
        "memberId": "개발자의 Id",
        "name": "개발자의 이름",
        "age": 개발자의 λ‚˜μ΄
      }
      // μˆ˜μ •ν•˜κ³ μžν•˜λŠ” κ°œλ°œμžκ°€ μ—†λŠ”κ²½μš°
      {
          "errorCode": "NO_DEVELOPER",
        "errorMessage": "ν•΄λ‹Ήλ˜λŠ” κ°œλ°œμžκ°€ μ—†μŠ΅λ‹ˆλ‹€."
      }
  5. 개발자 μ‚­μ œν•˜κΈ°

    • Delete

    • /developer/{memberId}

    • [Response]

      {
        "developerLevel": "μ‚­μ œλœ 개발자의 레벨",
        "developSkillType": "μ‚­μ œλœ 개발자의 기술",
        "experienceYears": μ‚­μ œλœ 개발자의 κ²½λ ₯,
        "stateCode": "RETIRED", // μ‚­μ œ μ‹œ μ€ν‡΄λ‘œ 처리
        "memberId": "μ‚­μ œλœ 개발자의 Id",
        "name": "μ‚­μ œλœ 개발자의 이름",
        "age": μ‚­μ œλœ 개발자의 λ‚˜μ΄
      }
      // μ‚­μ œν•˜κ³ μžν•˜λŠ” κ°œλ°œμžκ°€ μ—†λŠ”κ²½μš°
      {
        "errorCode": "NO_DEVELOPER",
        "errorMessage": "ν•΄λ‹Ήλ˜λŠ” κ°œλ°œμžκ°€ μ—†μŠ΅λ‹ˆλ‹€."
      }

About

πŸ“– 개발자 λ§Œλ“€κΈ° ν”„λ‘œμ νŠΈ μ„œλ²„ κ΅¬ν˜„

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages