22
33import com .fasterxml .jackson .core .JsonProcessingException ;
44import com .fasterxml .jackson .databind .ObjectMapper ;
5+ import com .fasterxml .jackson .dataformat .xml .XmlMapper ;
6+ import goodspace .backend .shipping .dto .ShippingDetailDto ;
57import goodspace .backend .shipping .dto .ShippingResponseDto ;
68import goodspace .backend .shipping .service .ShippingTraceService ;
79import lombok .RequiredArgsConstructor ;
1012import org .springframework .web .bind .annotation .RequestMapping ;
1113import org .springframework .web .bind .annotation .RequestParam ;
1214import org .springframework .web .bind .annotation .RestController ;
15+ import org .springframework .web .util .UriComponentsBuilder ;
1316
14- import java .io .UnsupportedEncodingException ;
15- import java .net .URLEncoder ;
17+ import java .io .IOException ;
18+ import java .io .InputStream ;
19+ import java .net .*;
1620import java .nio .charset .StandardCharsets ;
1721
22+
1823@ RestController
1924@ RequestMapping ("/shipping" )
2025@ RequiredArgsConstructor
2126public class ShippingTraceController {
2227 private final ShippingTraceService shippingTraceService ;
2328
2429 @ Value ("${api.epost.shipping-service-key}" )
25- private String ServiceKey ;
30+ private String serviceKey ;
2631
2732 private String baseUrl =
2833 "http://openapi.epost.go.kr/trace/retrieveLongitudinalCombinedService/retrieveLongitudinalCombinedService/getLongitudinalCombinedList" ;
2934
30- @ GetMapping ("/shippingDetatil" )
31- public String getShippingDetail (@ RequestParam String rgist ) {
32-
33-
34- //TODO : url 뿌려주고 DTo받았으니 이 데이터를 활용해야함. 새로운 detail업데이트 and status업데이트
35- try {
36- String encodedServiceKey = URLEncoder .encode (ServiceKey , StandardCharsets .UTF_8 .toString ());
37- String url = baseUrl + "?ServiceKey=" + encodedServiceKey + "&rgist=" + rgist ;
38- ShippingResponseDto shippingResponseDto = shippingTraceService .requestShippingStatus (url );
39- System .out .println (url );
40- ObjectMapper mapper = new ObjectMapper ();
41- String json = mapper .writerWithDefaultPrettyPrinter ().writeValueAsString (shippingResponseDto );
42- System .out .println (json );
43-
44- return json ;
45- } catch (JsonProcessingException e ) {
46- e .printStackTrace ();
47- return "JSON 변환 중 오류 발생" ;
48- } catch (UnsupportedEncodingException e ) {
49- e .printStackTrace ();
50- return "인코딩 변환 실패" ;
51- }
52-
35+ @ GetMapping ("/shippingDetail" )
36+ public ShippingResponseDto getShippingDetail (@ RequestParam String rgist ) throws Exception {
37+ return shippingTraceService .requestShippingStatus (serviceKey , rgist );
5338 }
5439}
0 commit comments