rest controller practice : open api 사용하기
This commit is contained in:
File diff suppressed because it is too large
Load Diff
BIN
rest-controller-practice/logs/spring-jpa.log.2021-03-17.0.gz
Normal file
BIN
rest-controller-practice/logs/spring-jpa.log.2021-03-17.0.gz
Normal file
Binary file not shown.
BIN
rest-controller-practice/logs/spring-jpa.log.2021-03-18.0.gz
Normal file
BIN
rest-controller-practice/logs/spring-jpa.log.2021-03-18.0.gz
Normal file
Binary file not shown.
@@ -1,41 +0,0 @@
|
||||
package com.example.restcontroller.extra;
|
||||
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Collections;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class ApiExtraController {
|
||||
|
||||
@GetMapping("/api/extra/pharmacy")
|
||||
public String chapter4_4() {
|
||||
|
||||
String apiKey = "JCkqoWYEf9zq0vRVR1TA8Nj6QUIl96TFQZwLnzlr32vbYPx7rJaZvCvq9box6J5WwxpNe5NSKoNzYenwdcXQDA%3D%3D";
|
||||
String url = "http://apis.data.go.kr/B552657/ErmctInsttInfoInqireService/getParmacyListInfoInqire?serviceKey=%s&pageNo=1&numOfRows=10";
|
||||
|
||||
String apiResult = "";
|
||||
|
||||
try {
|
||||
URI uri = new URI(String.format(url, apiKey));
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
|
||||
|
||||
String result = restTemplate.getForObject(uri, String.class);
|
||||
|
||||
apiResult = result;
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return apiResult;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,78 @@
|
||||
package com.example.restcontroller.extra.controller;
|
||||
|
||||
import com.example.restcontroller.common.model.ResponseResult;
|
||||
import com.example.restcontroller.extra.model.OpenApiResult;
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import org.springframework.http.HttpHeaders;
|
||||
import org.springframework.http.MediaType;
|
||||
import org.springframework.http.ResponseEntity;
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
import java.net.URI;
|
||||
import java.net.URISyntaxException;
|
||||
import java.util.Collections;
|
||||
|
||||
@RestController
|
||||
@RequiredArgsConstructor
|
||||
public class ApiExtraController {
|
||||
|
||||
@GetMapping("/api/extra/pharmacy/string")
|
||||
public String chapter4_4() {
|
||||
|
||||
String apiKey = "JCkqoWYEf9zq0vRVR1TA8Nj6QUIl96TFQZwLnzlr32vbYPx7rJaZvCvq9box6J5WwxpNe5NSKoNzYenwdcXQDA%3D%3D";
|
||||
String url = "http://apis.data.go.kr/B552657/ErmctInsttInfoInqireService/getParmacyListInfoInqire?serviceKey=%s&pageNo=1&numOfRows=10";
|
||||
|
||||
String apiResult = "";
|
||||
|
||||
try {
|
||||
URI uri = new URI(String.format(url, apiKey));
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
|
||||
|
||||
String result = restTemplate.getForObject(uri, String.class);
|
||||
|
||||
apiResult = result;
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
return apiResult;
|
||||
}
|
||||
|
||||
@GetMapping("/api/extra/pharmacy")
|
||||
public ResponseEntity<?> chapter4_5() {
|
||||
|
||||
String apiKey = "JCkqoWYEf9zq0vRVR1TA8Nj6QUIl96TFQZwLnzlr32vbYPx7rJaZvCvq9box6J5WwxpNe5NSKoNzYenwdcXQDA%3D%3D";
|
||||
String url = "http://apis.data.go.kr/B552657/ErmctInsttInfoInqireService/getParmacyListInfoInqire?serviceKey=%s&pageNo=1&numOfRows=10";
|
||||
|
||||
String apiResult = "";
|
||||
|
||||
try {
|
||||
URI uri = new URI(String.format(url, apiKey));
|
||||
RestTemplate restTemplate = new RestTemplate();
|
||||
HttpHeaders headers = new HttpHeaders();
|
||||
headers.setAccept(Collections.singletonList(MediaType.APPLICATION_JSON));
|
||||
|
||||
String result = restTemplate.getForObject(uri, String.class);
|
||||
|
||||
apiResult = result;
|
||||
} catch (URISyntaxException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
OpenApiResult jsonResult = null;
|
||||
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
try {
|
||||
jsonResult = objectMapper.readValue(apiResult, OpenApiResult.class);
|
||||
} catch (JsonProcessingException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
return ResponseResult.success(jsonResult);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResult {
|
||||
|
||||
private OpenApiResultResponse response;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResultResponse {
|
||||
|
||||
private OpenApiResultResponseHeader header;
|
||||
private OpenApiResultResponseBody body;
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResultResponseBody {
|
||||
|
||||
private OpenApiResultResponseBodyItems items;
|
||||
private Integer numOfRows;
|
||||
private Integer pageNo;
|
||||
private Integer totalCount;
|
||||
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResultResponseBodyItems {
|
||||
|
||||
List<OpenApiResultResponseBodyItemsItem> item;
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResultResponseBodyItemsItem {
|
||||
private String dutyAddr;
|
||||
private String dutyName;
|
||||
private String dutyTel1;
|
||||
private Integer dutyTime1c;
|
||||
private String dutyTime1s;
|
||||
private Integer dutyTime2c;
|
||||
private String dutyTime2s;
|
||||
private Integer dutyTime3c;
|
||||
private String dutyTime3s;
|
||||
private Integer dutyTime4c;
|
||||
private String dutyTime4s;
|
||||
private Integer dutyTime5c;
|
||||
private String dutyTime5s;
|
||||
private Integer dutyTime6c;
|
||||
private String dutyTime6s;
|
||||
private String hpid;
|
||||
private Integer postCdn1;
|
||||
private String postCdn2;
|
||||
private Integer rnum;
|
||||
private Double wgs84Lat;
|
||||
private Double wgs84Lon;
|
||||
private String dutyMapimg;
|
||||
private String dutyEtc;
|
||||
private Integer dutyTime8c;
|
||||
private String dutyTime8s;
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
package com.example.restcontroller.extra.model;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Builder;
|
||||
import lombok.Data;
|
||||
import lombok.NoArgsConstructor;
|
||||
|
||||
@Data
|
||||
@Builder
|
||||
@AllArgsConstructor
|
||||
@NoArgsConstructor
|
||||
public class OpenApiResultResponseHeader {
|
||||
|
||||
private String resultCode;
|
||||
private String resultMsg;
|
||||
}
|
||||
Reference in New Issue
Block a user