리크 테스트 gui
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

5.0 KiB

[3단계] 핵심 API 명세서 설계 (API Specification)

본 문서는 누수 시험 시스템(WPF Client)과 중앙 통합 관리 서버(MES/모니터링 Web API) 간의 통신 규격을 정의하는 RESTful API 명세서입니다.


1. 인증 API (Authentication)

1.1 사용자 로그인 (Sign In)

  • Method & URL: POST /api/v1/auth/login
  • 설명: 작업자 ID와 비밀번호를 검증하고 세션 토큰(JWT)을 발급받습니다.

요청 예시 (Request Body)

{
  "operatorId": "test",
  "password": "testPassword123"
}

성공 응답 예시 (Response 200 OK)

{
  "success": true,
  "message": "로그인에 성공했습니다.",
  "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
  "userInfo": {
    "operatorId": "test",
    "operatorName": "홍길동",
    "role": "OPERATOR"
  }
}

실패 응답 예시 (Response 401 Unauthorized - 계정 정보 불일치)

{
  "success": false,
  "errorCode": "AUTH_FAILED",
  "message": "등록되지 않은 ID이거나 비밀번호가 일치하지 않습니다."
}

2. 계측 데이터 동기화 API (Inspection Data Sync)

2.1 검사 데이터 UPSERT 전송 (Upload Inspection Data)

  • Method & URL: POST /api/v1/eol/inspect
  • Headers: Authorization: Bearer <Token>
  • 설명: 장비 검사가 완료된 시점에 실시간 누수 측정 값을 서버로 전송합니다. 시리얼 번호가 이미 존재할 경우 업데이트됩니다.

요청 예시 (Request Body)

{
  "icSn": "202606240001LM01",
  "pcbBarcode": "202606240001LM01",
  "maker": "MOBI",
  "model": "NE1aW_PT",
  "variant1": "V1_STD",
  "variant2": "V2_REV1",
  "operator": "test",
  "line": "LINE_01",
  "lotNo": "LOT_20260624A",
  "jigNo": "JIG_A",
  "channel": "LEFT",
  "specUL": 1.0000,
  "specLL": -1.0000,
  "leakValue": 0.4357,
  "result": "OK"
}

성공 응답 예시 (Response 201 Created / 200 OK)

{
  "success": true,
  "message": "검사 데이터가 정상적으로 저장되었습니다.",
  "data": {
    "icSn": "202606240001LM01",
    "recordedAt": "2026-06-24T10:15:30.123Z"
  }
}

실패 응답 예시 (Response 400 Bad Request - 유효하지 않은 데이터 형식)

{
  "success": false,
  "errorCode": "INVALID_PARAMETERS",
  "message": "측정 누설값(leakValue)은 필수 수치 정보입니다."
}

3. 검사 이력 조회 API (Inspection Data Query)

3.1 조건별 검사 기록 목록 조회 (Retrieve History)

  • Method & URL: GET /api/v1/eol/inspects
  • Headers: Authorization: Bearer <Token>
  • Query Parameters:
    • startDate: 조회 시작일 (Format: YYYY-MM-DD)
    • endDate: 조회 종료일 (Format: YYYY-MM-DD)
    • result: 판정 필터 (OK, NG, 생략 시 전체)
    • lotNo: 로트 번호 필터 (일부분 검색 가능)
    • operator: 작업자 ID 필터

성공 응답 예시 (Response 200 OK)

{
  "success": true,
  "totalCount": 2,
  "results": [
    {
      "icSn": "202606240001LM01",
      "pcbBarcode": "202606240001LM01",
      "maker": "MOBI",
      "model": "NE1aW_PT",
      "variant1": "V1_STD",
      "variant2": "V2_REV1",
      "operator": "test",
      "productionDate": "2026-06-24T10:15:30Z",
      "line": "LINE_01",
      "lotNo": "LOT_20260624A",
      "jigNo": "JIG_A",
      "channel": "LEFT",
      "specUL": 1.0000,
      "specLL": -1.0000,
      "leakValue": 0.4357,
      "result": "OK"
    },
    {
      "icSn": "202606240002LM02",
      "pcbBarcode": "202606240002LM02",
      "maker": "MOBI",
      "model": "NE1aW_PT",
      "variant1": "V1_STD",
      "variant2": "V2_REV1",
      "operator": "test",
      "productionDate": "2026-06-24T10:16:15Z",
      "line": "LINE_01",
      "lotNo": "LOT_20260624A",
      "jigNo": "JIG_A",
      "channel": "RIGHT",
      "specUL": 1.0000,
      "specLL": -1.0000,
      "leakValue": 1.2541,
      "result": "NG"
    }
  ]
}

4. HTTP 상태 코드 정의 가이드 (Status Codes Definition)

본 연동 API 규격은 직관적이고 표준적인 HTTP Response 상태 코드를 따릅니다.

상태 코드 의미 사용 시점
200 OK 성공 조회(GET) 성공 및 정상 데이터 업데이트(UPSERT) 성공 시
201 Created 생성 성공 신규 검사 데이터 삽입(INSERT)이 데이터베이스에 성공 시
400 Bad Request 잘못된 요청 파라미터 누락, 데이터 타입 에러 등 요청 양식이 규칙에 맞지 않을 때
401 Unauthorized 권한 없음 로그인 토큰(Bearer Token)이 만료되었거나 누락되어 인증이 안 된 경우
403 Forbidden 접근 거부 일반 작업자 권한으로 관리자 API에 직접 접근을 시도할 때
404 Not Found 리소스 없음 요청한 엔드포인트 URL 또는 조회 대상 제품 ID를 찾을 수 없을 때
500 Internal Server Error 서버 오류 서버 DB 연결 이상, 데이터베이스 데드락, 런타임 처리 오류 발생 시