78 lines
2.8 KiB
Markdown
78 lines
2.8 KiB
Markdown
### simulator 가 Test Master로 변경 되었습니다.
|
|
|
|
# 프로젝트 빌드 및 실행 가이드
|
|
|
|
이 문서는 TestMaster 빌드하고 실행하기 위한 지침을 담고 있습니다.
|
|
|
|
## 사전 요구 사항
|
|
|
|
- JDK 1.8
|
|
- Gradle
|
|
|
|
## 빌드 및 패키징
|
|
|
|
1. 윈도우 명령 프롬프트 또는 PowerShell을 엽니다.
|
|
2. 프로젝트 루트 디렉토리로 이동합니다.
|
|
3. 다음 명령어를 사용하여 프로젝트를 빌드합니다:
|
|
|
|
```shell
|
|
gradlew clean bootJar
|
|
```
|
|
|
|
빌드 프로세스가 완료된 후, build/libs 디렉토리 안에 .jar 파일이 생성됩니다.
|
|
|
|
## 실행
|
|
|
|
1. 윈도우 명령 프롬프트 또는 PowerShell을 엽니다.
|
|
|
|
```shell
|
|
java -jar build/libs/elink-test-master.jar
|
|
|
|
```
|
|
|
|
2. 애플리케이션을 중지하려면, 명령 프롬프트에서 'Ctrl + C' 를 누릅니다.
|
|
|
|
## 요청 관리 주의 사항
|
|
|
|
1. 요청관리를 사용하기 위해서는 1개 이상의 서버가 등록되어 있어야 합니다.
|
|
|
|
2. 요청 관리에서 "시뮬레이터 응답관리"에 등록된 목업 API를 호출 할 때는 등록된 uri와 동일하게 호출해야 합니다.
|
|
|
|
예)
|
|
|
|
| 응답관리 uri | 요청 관리 uri | 응답 |
|
|
|:-------------:|:-------------:|:------:|
|
|
| /api/v1/test | /api/v1/test | 200 OK |
|
|
| /api/v1/test/ | /api/v1/test/ | 200 OK |
|
|
| /api/v1/test/ | /api/v1/test | 404 |
|
|
| /api/v1/test | /api/v1/test/ | 404 |
|
|
|
|
3. 요청 시에 URI에 대한 유효성 검사는 하지 않습니다.
|
|
요청 관리에서 send 시 기본경로와 API Path를 보이는대로 합쳐서 요청을 보냅니다.
|
|
|
|
4. path 값이 없이 요청이 가능합니다.
|
|
|
|
|
|
## 응답 관리 캐릭터 인코딩
|
|
|
|
### 응답 바디의 인코딩 결정
|
|
응답 바디의 인코딩을 적용하는 순서와 우선순위를 설명합니다. 인코딩은 다음과 같은 순서로 결정됩니다:
|
|
|
|
1. matchingResponse에서 encodingCharset 확인
|
|
matchingResponse 객체의 encodingCharset이 비어 있지 않으면 해당 값을 사용합니다.
|
|
|
|
2. 시스템 속성 'file.encoding' 확인
|
|
matchingResponse 객체의 encodingCharset이 비어 있는 경우, 시스템의 기본 파일 인코딩을 사용합니다.
|
|
(System.getProperty("file.encoding"))
|
|
|
|
### 응답 CONTENT-TYPE 설정
|
|
1. CONTENT-TYPE 헤더가 없는 경우
|
|
위에서 결정된 인코딩 charset을 사용하여 text/plain으로 설정합니다.
|
|
|
|
2. 기존 CONTENT-TYPE에 charset이 없으면 charset 추가
|
|
CONTENT-TYPE 헤더가 존재하지만 charset이 지정되어 있지 않은 경우, 위에서 결정된 인코딩 charset을 기존 content-type에 추가합니다.
|
|
|
|
### 주의사항
|
|
동시에 matchingResponse에 encodingCharset을 지정하고, 응답 헤더의 Content-Type에도 charset을 지정하는 경우,
|
|
두개의 charset이 다르면, 응답 바디는 matchingResponse의 encodingCharset을 사용하여, 인코딩 됩니다.
|