์ด ํ์ด์ง๋ Apigee ๋ฐ Apigee Hybrid์ ์ ์ฉ๋ฉ๋๋ค.
Apigee Edge ๋ฌธ์ ๋ณด๊ธฐ
ํ์ตํ ๋ด์ฉ
์ด ํํ ๋ฆฌ์ผ์์๋ ๋ค์ ๋ฐฉ๋ฒ์ ๋ฐฐ์๋๋ค.
- OpenAPI ์ฌ์์์ Apigee API ํ๋ก์๋ฅผ ๋ง๋ญ๋๋ค.
- cURL์ ์ฌ์ฉํ์ฌ API ํ๋ก์๋ฅผ ํธ์ถํฉ๋๋ค.
- ์กฐ๊ฑด๋ถ ํ๋ฆ์ ์ ์ฑ ์ ์ถ๊ฐํฉ๋๋ค.
- cURL์ ์ฌ์ฉํ์ฌ ์ ์ฑ ํธ์ถ์ ํ ์คํธํฉ๋๋ค.
Apigee UI๋ฅผ ์ฌ์ฉํ์ฌ OpenAPI ์ฌ์์์ Apigee API ํ๋ก์๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ์ ์์๋ด ๋๋ค. cURL๊ณผ ๊ฐ์ HTTP ํด๋ผ์ด์ธํธ๋ก API ํ๋ก์๋ฅผ ํธ์ถํ๋ฉด API ํ๋ก์๊ฐ ์์ฒญ์ Apigee ๋ชจ์ ๋์ ์๋น์ค๋ก ์ ์กํฉ๋๋ค.
Open API Initiative ์ ๋ณด
"Open API Initiative(OAI)๋ Swagger ์ฌ์์ ๋ฐ๋ผ ๊ณต๊ธ์ ์ฒด ์ค๋ฆฝ์ ์ธ API ์ค๋ช ํ์์ ์์ฑ, ์งํ, ํ๋ณดํ๋ ๋ฐ ์ค์ ์ ๋๊ณ ์์ต๋๋ค." Open API Initiative์ ๋ํ ์์ธํ ๋ด์ฉ์ OpenAPI ์ฌ์์ ์ฐธ์กฐํ์ธ์.
OpenAPI ์ฌ์์์๋ ํ์ค ํ์์ ์ฌ์ฉํ์ฌ RESTful API๋ฅผ ์ค๋ช ํฉ๋๋ค. JSON ๋๋ YAML ํ์์ผ๋ก ์์ฑ๋ OpenAPI ์ฌ์์ ๋จธ์ ์์ ์ฝ์ ์ ์์ง๋ง ์ฌ๋๋ ์ฝ๊ฒ ์ฝ๊ณ ์ดํดํ ์ ์์ต๋๋ค. ์ฌ์์ ๊ธฐ๋ณธ ๊ฒฝ๋ก, ๊ฒฝ๋ก ๋ฐ ๋์ฌ, ํค๋, ์ฟผ๋ฆฌ ๋งค๊ฐ๋ณ์, ์์ , ์ฝํ ์ธ ์ ํ, ์๋ต ์ค๋ช ๊ณผ ๊ฐ์ API ์์๋ฅผ ์ค๋ช ํฉ๋๋ค. ๋ํ OpenAPI ์ฌ์์ ์ผ๋ฐ์ ์ผ๋ก API ์ฐธ๊ณ ๋ฆฌ์์ค๋ฅผ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
Apigee ๋ชจ์ ๋์ ์๋น์ค์ ๋ํ ์ ๋ณด
์ด ํํ ๋ฆฌ์ผ์์ ์ฌ์ฉ๋๋ Apigee ๋ชจ์ ๋์ ์๋น์ค๋ Apigee์์ ํธ์คํ ๋๋ฉฐ ๊ฐ๋จํ ๋ฐ์ดํฐ๋ฅผ ๋ฐํํฉ๋๋ค. API ํค ๋๋ ์ก์ธ์ค ํ ํฐ์ด ํ์ํ์ง ์์ต๋๋ค. ์ค์ ๋ก ์น๋ธ๋ผ์ฐ์ ์์ ์ก์ธ์คํ ์ ์์ต๋๋ค. ๋ค์์ ํด๋ฆญํ์ฌ ์ฌ์ฉํด ๋ณด์ธ์.
๋์ ์๋น์ค๊ฐ ์ธ์ฌ๋ง Hello, guest!
๋ฅผ ๋ฐํํฉ๋๋ค.
๋ชจ์ ๋์ ์๋น์ค๊ฐ ์ง์ํ๋ ์ ์ฒด API ์ธํธ์ ๋ํ ์์ธํ ๋ด์ฉ์ Apigee Sample API๋ฅผ ์ฐธ์กฐํ์ธ์.
์ค๋น๋ฌผ
- ์์ํ๊ธฐ ์ ์, ๊ฐ์ ๋ฐ ๊ธฐ๋ณธ ์๊ฑด์ ๋จ๊ณ๋ฅผ ์๋ฃํด์ผ ํฉ๋๋ค.
- OpenAPI ์ฌ์. ์ด ํํ ๋ฆฌ์ผ์์๋ Apigee์ ๋ชจ์ ๋์ ์๋น์ค์ธ
http://mocktarget.apigee.net
์ ์ค๋ช ํ๋mocktarget.yaml
OpenAPI ์ฌ์์ ์ฌ์ฉํฉ๋๋ค. ์์ธํ ๋ด์ฉ์ apigee/api-platform-samples๋ฅผ ์ฐธ์กฐํ์ธ์. - ๋ช ๋ น์ค์์ API ํธ์ถ์ ์ํํ๊ธฐ ์ํด ๋จธ์ ์ ์ค์น๋ cURL ๋๋ ์น๋ธ๋ผ์ฐ์
API ํ๋ก์ ๋ง๋ค๊ธฐ
OpenAPI ์ฌ์์์ API ํ๋ก์๋ฅผ ๋ง๋ค๋ ค๋ฉด ๋ค์ ์๋ด๋ฅผ ๋ฐ๋ฅด์ธ์.
Cloud ์ฝ์์ Apigee
-
Google Cloud ์ฝ์์์ ํ๋ก์ ๊ฐ๋ฐ > API ํ๋ก์ ํ์ด์ง๋ก ์ด๋ํฉ๋๋ค.
- API ํ๋ก์ ์ฐฝ์์ + ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
- ํ๋ก์ ๋ง๋ค๊ธฐ ์ฐฝ์ ํ๋ก์ ํ ํ๋ฆฟ > OpenAPI ์ฌ์ ํ ํ๋ฆฟ์์ ๋ฆฌ๋ฒ์ค ํ๋ก์(๊ฐ์ฅ ์ผ๋ฐ์ )๋ฅผ ์ ํํฉ๋๋ค.
- ์น๋ธ๋ผ์ฐ์ ์์ ๋ค์ URL๋ก ์ด๋ํฉ๋๋ค.
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
- ํ์๋ ์ฝ๋๋ฅผ ๋ง์ฐ์ค ์ค๋ฅธ์ชฝ ๋ฒํผ์ผ๋ก ํด๋ฆญํ๊ณ ๋ค๋ฅธ ์ด๋ฆ์ผ๋ก ์ ์ฅ์ ์ ํํฉ๋๋ค.
- ์ ์ฅ์ ํด๋ฆญํ์ฌ ์ํ๋ ์์น์
mocktarget3.0.yaml
์ ์ ์ฅํฉ๋๋ค. - OpenAPI ์ฌ์ ํ๋์์ ์ฐพ์๋ณด๊ธฐ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
mocktarget3.0.yaml
ํ์ผ๋ก ์ด๋ํ์ฌ ์ด๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.- ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ํ๋ก์ ๋ง๋ค๊ธฐ ๋ง๋ฒ์ฌ์ ํ๋ก์ ์ธ๋ถ์ ๋ณด ๋จ๊ณ์์๋ OpenAPI ์ฌ์์์ ์ง์ ์ถ์ถํ ๊ฐ์ผ๋ก ํ๋๊ฐ ์๋์ผ๋ก ์ฑ์์ง๋๋ค.
- ํ๋ก์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์ค๋ช
ํ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ ํฉ๋๋ค.
API proxy for the Apigee mock target service endpoint.
- ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ํ๋ฆ ๋จ๊ณ์์ ๋ชจ๋ ์์ ์ด ์ ํ๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ๋ฐฐํฌ ๋จ๊ณ์์ ํ๋ ์ด์์ ํ๊ฒฝ์ ์ ํํ๊ณ ํ์ธ์ ํด๋ฆญํฉ๋๋ค.
- ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋ค์ ํ์์๋ OpenAPI ์ฌ์์ ์ฌ์ฉํ์ฌ ๋ฏธ๋ฆฌ ์ฑ์์ง ๊ธฐ๋ณธ๊ฐ์ ์ค๋ช ํฉ๋๋ค.
ํ๋ | ์ค๋ช | ๊ธฐ๋ณธ๊ฐ |
---|---|---|
ํ๋ก์ ์ด๋ฆ | API ํ๋ก์ ์ด๋ฆ์
๋๋ค. ์๋ฅผ ๋ค๋ฉด Mock-Target-API ์
๋๋ค. |
๋์์ ์ํด ๊ณต๋ฐฑ์ด ๊ต์ฒด๋ OpenAPI ์ฌ์์ title ์์ฑ |
๊ธฐ๋ณธ ๊ฒฝ๋ก | ์กฐ์ง ๋ด์์ ์ด API ํ๋ก์๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ๊ฒฝ๋ก ๊ตฌ์ฑ์์์
๋๋ค.
์ด API ํ๋ก์์ ๊ณต๊ฐ์ฉ URL์ ์ธ๋ถ ๋๋ ๋ด๋ถ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ์ด ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
http://apitest.acme.com/mock-target-api |
์ด๋ฆ ํ๋ ์ฝํ ์ธ ๊ฐ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณํ๋จ |
์ค๋ช | API ํ๋ก์์ ์ค๋ช ์ ๋๋ค. | OpenAPI ์ฌ์์ description ์์ฑ |
๋์(๊ธฐ์กด API) | ์ด API ํ๋ก์๋ฅผ ๋์ ํ์ฌ ํธ์ถ๋ ๋์ URL. ๊ฐ๋ฐฉํ ์ธํฐ๋ท์ ํตํด ์ก์ธ์คํ ์ ์๋ ๋ชจ๋ URL์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
http://mocktarget.apigee.net |
OpenAPI ์ฌ์์ servers ์์ฑ
|
๋ค์์ OpenAPI ์ฌ์์์ ํ๋๋ฅผ ์๋ ์ ๋ ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ฑ์ ๋ณด์ฌ์ฃผ๋ ๋ฐ์ท๋ฌธ์ ์ ๊ณตํฉ๋๋ค.
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ...
๊ธฐ๋ณธ Apigee UI
- ๊ฐ๋ฐ > API ํ๋ก์๋ฅผ ์ ํํ๊ณ ํ๋ก์ ์ฐฝ์์ ํ๋ก์ ํ๊ฒฝ์ ์ ํํฉ๋๋ค.
- ๊ธฐ๋ณธ ์ฐฝ์์ API ํ๋ก์๋ฅผ ํด๋ฆญํฉ๋๋ค.
๋๋ ์ผ์ชฝ ํ์ ๋ฉ๋ด์์ ๊ฐ๋ฐ > API ํ๋ก์๋ฅผ ์ ํํ ์ ์์ต๋๋ค.
์๋ก ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํฉ๋๋ค.
-
ํ๋ก์ ๋ง๋ค๊ธฐ ๋ง๋ฒ์ฌ์์ ๋ฆฌ๋ฒ์ค ํ๋ก์(๊ฐ์ฅ ์ผ๋ฐ์ ) ํ ํ๋ฆฟ์ ๋ํด OpenAPI ์ฌ์ ์ฌ์ฉ์ ํด๋ฆญํฉ๋๋ค.
- URL์ ํด๋ฆญํ๊ณ ๋ค์ ์ ๋ณด๋ฅผ ์
๋ ฅํฉ๋๋ค.
OpenAPI ์ฌ์ URL: URL ํ๋์์ GitHub์ OpenAPI ์ฌ์์ ๋ํ ์์ ์ฝํ ์ธ ๊ฒฝ๋ก์ ๋๋ค.
https://raw.githubusercontent.com/apigee/api-platform-samples/master/default-proxies/helloworld/openapi/mocktarget3.0.yaml
- ์ ํ์ ํด๋ฆญํฉ๋๋ค.
ํ๋ก์ ๋ง๋ค๊ธฐ ๋ง๋ฒ์ฌ์ ํ๋ก์ ์ธ๋ถ์ ๋ณด ํ์ด์ง๊ฐ ํ์๋ฉ๋๋ค. ํ๋๋ ๋ค์ ๊ทธ๋ฆผ๊ณผ ๊ฐ์ด OpenAPI ์ฌ์์ ์ ์๋ ๊ฐ์ ์ฌ์ฉํ์ฌ ๋ฏธ๋ฆฌ ์ฑ์์ง๋๋ค.
๋ค์ ํ์์๋ OpenAPI ์ฌ์์ ์ฌ์ฉํ์ฌ ๋ฏธ๋ฆฌ ์ฑ์์ง ๊ธฐ๋ณธ๊ฐ์ ์ค๋ช ํฉ๋๋ค.
ํ๋ ์ค๋ช ๊ธฐ๋ณธ๊ฐ ์ด๋ฆ API ํ๋ก์ ์ด๋ฆ์ ๋๋ค. ์๋ฅผ ๋ค๋ฉด Mock-Target-API
์ ๋๋ค.๋์์ ์ํด ๊ณต๋ฐฑ์ด ๊ต์ฒด๋ OpenAPI ์ฌ์์ title
์์ฑ๊ธฐ๋ณธ ๊ฒฝ๋ก ์กฐ์ง ๋ด์์ ์ด API ํ๋ก์๋ฅผ ๊ณ ์ ํ๊ฒ ์๋ณํ๋ ๊ฒฝ๋ก ๊ตฌ์ฑ์์์ ๋๋ค. ์ด API ํ๋ก์์ ๊ณต๊ฐ์ฉ URL์ ์ธ๋ถ ๋๋ ๋ด๋ถ ๋๋ฉ์ธ ์ด๋ฆ๊ณผ ์ด ๊ธฐ๋ณธ ๊ฒฝ๋ก๋ก ๊ตฌ์ฑ๋ฉ๋๋ค. ์๋ฅผ ๋ค๋ฉด http://apitest.acme.com/mock-target-api
์ ๋๋ค.์ด๋ฆ ํ๋ ์ฝํ ์ธ ๊ฐ ๋ชจ๋ ์๋ฌธ์๋ก ๋ณํ๋จ ์ค๋ช API ํ๋ก์์ ์ค๋ช ์ ๋๋ค. OpenAPI ์ฌ์์ description
์์ฑ๋์(๊ธฐ์กด API) ์ด API ํ๋ก์๋ฅผ ๋์ ํ์ฌ ํธ์ถ๋ ๋์ URL. ๊ฐ๋ฐฉํ ์ธํฐ๋ท์ ํตํด ์ก์ธ์คํ ์ ์๋ ๋ชจ๋ URL์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค๋ฉด http://mocktarget.apigee.net
์ ๋๋ค.OpenAPI ์ฌ์์ servers
์์ฑ๋ค์์ OpenAPI ์ฌ์์์ ํ๋๋ฅผ ์๋ ์ ๋ ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์์ฑ์ ๋ณด์ฌ์ฃผ๋ ๋ฐ์ท๋ฌธ์ ์ ๊ณตํฉ๋๋ค.
openapi: 3.0.0 info: description: OpenAPI Specification for the Apigee mock target service endpoint. version: 1.0.0 title: Mock Target API paths: /: get: summary: View personalized greeting operationId: View a personalized greeting description: View a personalized greeting for the specified or guest user. parameters: - name: user in: query description: Your user name. required: false schema: type: string responses: "200": description: Success ... servers: - url: http://mocktarget.apigee.net - url: https://mocktarget.apigee.net ...
- ํ๋ก์ ์ธ๋ถ์ ๋ณด ํ์ด์ง์์ ์ค๋ช
ํ๋๋ฅผ ๋ค์๊ณผ ๊ฐ์ด ์์ ํฉ๋๋ค.
API proxy for the Apigee mock target service endpoint.
- ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ์ผ๋ฐ ์ ์ฑ
ํ์ด์ง์ ๋ณด์: ์น์ธ์์ ํต๊ณผ(์น์ธ ์์)๊ฐ ์ ํ๋์๋์ง ํ์ธํ๊ณ ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ํ๋ฆ ํ์ด์ง์์ ๋ชจ๋ ์์
์ด ์ ํ๋์๋์ง ํ์ธํฉ๋๋ค.
- ๋ค์์ ํด๋ฆญํฉ๋๋ค.
- ์์ฝ ํ์ด์ง์ ์ ํ์ ๋ฐฐํฌ์์ ํ๊ฒฝ์ด ์ ํ๋์ด ์๋์ง ํ์ธํ๊ณ ๋ง๋ค๊ธฐ ๋ฐ ๋ฐฐํฌ๋ฅผ ํด๋ฆญํฉ๋๋ค.
Apigee๋ ์ API ํ๋ก์๋ฅผ ๋ง๋ค์ด ๊ฐ๋ฐ์ ํ๊ฒฝ์ ๋ฐฐํฌํฉ๋๋ค.
- ํ๋ก์ ์์ ์ ํด๋ฆญํ์ฌ API ํ๋ก์์ ๊ฐ์ ํ์ด์ง๋ฅผ ํ์ํฉ๋๋ค.
API ํ๋ก์ ํ ์คํธ
cURL ๋๋ ์น๋ธ๋ผ์ฐ์ ๋ฅผ ์ฌ์ฉํ์ฌ Mock-Target-API
API๋ฅผ ํ
์คํธํ ์ ์์ต๋๋ค.
curl -v YOUR_ENV_GROUP_HOSTNAME/myproxy
์ฌ๊ธฐ์ YOUR_ENV_GROUP_HOSTNAME
์ ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ์
๋๋ค. ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ ์ฐพ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ฅผ ๋ค๋ฉด ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
curl -v -k https://apitest.acme.com/myproxy
์๋ต
๋ค์๊ณผ ๊ฐ์ ์๋ต์ด ํ์๋ฉ๋๋ค.
Hello, Guest!
JSON ์ ์ฑ ์ XML ์ถ๊ฐ
๋ค์์ผ๋ก, OpenAPI ์ฌ์์์ API ํ๋ก์๋ฅผ ๋ง๋ค ๋ ์๋์ผ๋ก ์์ฑ๋ XML ์๋ต ๋ณด๊ธฐ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ๋ํ JSON ์ ์ฑ ์ XML์ ์ถ๊ฐํฉ๋๋ค. ์ ์ฑ ์ ๋์์ XML ์๋ต์ JSON ์๋ต์ผ๋ก ๋ณํํฉ๋๋ค.
๋จผ์ API๋ฅผ ํธ์ถํ์ฌ ์ ์ฑ
์ ์ถ๊ฐํ ํ์ ์ป์ ๊ฒฐ๊ณผ์ ๋น๊ตํ ์ ์์ต๋๋ค. ํฐ๋ฏธ๋ ์ฐฝ์์ ๋ค์ cURL ๋ช
๋ น์ด๋ฅผ ์คํํฉ๋๋ค. ๋์ ์๋น์ค์ /xml
๋ฆฌ์์ค๋ฅผ ํธ์ถํ๋ฉด ๊ธฐ๋ณธ์ ์ผ๋ก XML์ ๊ฐ๋จํ ๋ธ๋ก์ด ๋ฐํ๋ฉ๋๋ค.
curl -v https://YOUR_ENV_GROUP_HOSTNAME/mock-target-api/xml
์ฌ๊ธฐ์ YOUR ENV_GROUP_HOSTNAME
์ ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ์
๋๋ค. ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ ์ฐพ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
์๋ต
๋ค์๊ณผ ๊ฐ์ ์๋ต์ด ํ์๋ฉ๋๋ค.
<root> <city>San Jose</city> <firstName>John</firstName> <lastName>Doe</lastName> <state>CA</state> </root>
์ด์ XML ์๋ต์ JSON์ผ๋ก ๋ณํํ๋ ์์ ์ ํด๋ณด๊ฒ ์ต๋๋ค. API ํ๋ก์์์ XML์์ JSON์ผ๋ก ๋ณํ ์ ์ฑ ์ XML ์๋ต ๋ณด๊ธฐ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ์ถ๊ฐํฉ๋๋ค.
Cloud ์ฝ์์ Apigee
Apigee UI์ Mock-Target-API ๊ฐ์ ํ์ด์ง์์ ๊ฐ๋ฐ ํญ์ ํด๋ฆญํฉ๋๋ค.
- ์ผ์ชฝ ์ฐฝ์ ํ๋ก์ ์๋ํฌ์ธํธ > ๊ธฐ๋ณธ๊ฐ์์ XML ์๋ต ๋ณด๊ธฐ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ํด๋ฆญํฉ๋๋ค.
- ์ผ์ชฝ ์ฐฝ์์ ์ ์ฑ ํ์ ์๋ + ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ ๋ง๋ค๊ธฐ ๋ํ์์์์ ์ ์ฑ ์ ํ ์ ํ ํ๋๋ฅผ ํด๋ฆญํ๊ณ ๋ฏธ๋์์ด์ ์ผ๋ก ์คํฌ๋กคํ๊ณ XMLToJSON์ ์ ํํฉ๋๋ค. ํ์ ์ด๋ฆ๊ณผ ์ด๋ฆ์ ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋๋ก ๋ก๋๋ค.
- ๋ง๋ค๊ธฐ๋ฅผ ํด๋ฆญํ์ฌ ์ ์ฑ ์ ๋ง๋ญ๋๋ค.
์๋ต์์ XML ์๋ต ๋ณด๊ธฐ ํ๋ฆ ์์ ์๋ + ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
- ์ ์ฑ ๋จ๊ณ ์ถ๊ฐ ๋ํ์์์์ ๊ธฐ์กด ์ ์ฑ ์ ํ ํ๋๋ฅผ ํด๋ฆญํ๊ณ XML to JSON-1์ ์ ํํฉ๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. XML to JSON ์ ์ฑ ์ด ์๋ต์ ์ ์ฉ๋ฉ๋๋ค.
XML ์๋ต ๋ณด๊ธฐ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ์ฝ๋๋ฅผ ๋ณด๋ ค๋ฉด ์ฝ๋ ํธ์ง๊ธฐ๋ก ์ ํ์ ํด๋ฆญํฉ๋๋ค.
- ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
๊ธฐ๋ณธ Apigee UI
Apigee UI์ Mock-Target-API ๊ฐ์ ํ์ด์ง์์ ๊ฐ๋ฐ ํญ์ ํด๋ฆญํฉ๋๋ค.
์ผ์ชฝ ํ์๊ธฐ ์ฐฝ์ ํ๋ก์ ์๋ํฌ์ธํธ > ๊ธฐ๋ณธ๊ฐ์์ XML ์๋ต ๋ณด๊ธฐ ์กฐ๊ฑด๋ถ ํ๋ฆ์ ํด๋ฆญํฉ๋๋ค.
ํ๋ฆ์ ์๋ต์ ํด๋นํ๋ ํ๋จ์ +๋จ๊ณ ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค.
๋จ๊ณ ์ถ๊ฐ ๋ํ์์๊ฐ ์ด๋ฆฌ๊ณ ์ถ๊ฐํ ์ ์๋ ๋ชจ๋ ์ ์ฑ ์ด ๋ถ๋ฅ๋ ๋ชฉ๋ก์ด ํ์๋ฉ๋๋ค.
๋ฏธ๋์์ด์ ์นดํ ๊ณ ๋ฆฌ๋ก ์คํฌ๋กคํ๊ณ XML to JSON์ ์ ํํฉ๋๋ค.
- ํ์ ์ด๋ฆ๊ณผ ์ด๋ฆ์ ๊ธฐ๋ณธ๊ฐ์ ๊ทธ๋๋ก ๋ก๋๋ค.
์ถ๊ฐ๋ฅผ ํด๋ฆญํฉ๋๋ค. XML to JSON ์ ์ฑ ์ด ์๋ต์ ์ ์ฉ๋ฉ๋๋ค.
- ์ ์ฅ์ ํด๋ฆญํฉ๋๋ค.
์ ์ฑ
์ ์ถ๊ฐํ์ผ๋ฏ๋ก ์ด์ cURL์ ์ฌ์ฉํ์ฌ API๋ฅผ ๋ค์ ํธ์ถํฉ๋๋ค. ๋์ผํ /xml
๋ฆฌ์์ค๋ฅผ ์ฌ์ ํ ํธ์ถํ๋ ์ค์
๋๋ค. ๋์ ์๋น์ค๋ ์ฌ์ ํ XML ๋ธ๋ก์ ๋ฐํํ์ง๋ง ์ด์ API ํ๋ก์์ ์ ์ฑ
์ด ์๋ต์ JSON์ผ๋ก ๋ณํํฉ๋๋ค. ๋ค์๊ณผ ๊ฐ์ด ํธ์ถํฉ๋๋ค.
curl -v https://YOUR_ENV_GROUP_HOSTNAME/mock-target-api/xml
์ฌ๊ธฐ์ YOUR ENV_GROUP_HOSTNAME
์ ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ์
๋๋ค. ํ๊ฒฝ ๊ทธ๋ฃน ํธ์คํธ ์ด๋ฆ ์ฐพ๊ธฐ๋ฅผ ์ฐธ์กฐํ์ธ์.
XML ์๋ต์ JSON์ผ๋ก ๋ณํ๋ฉ๋๋ค.
{"root":{"city":"San Jose","firstName":"John","lastName":"Doe","state":"CA"}}