전체 글485 [Spring] RequestEntity 사용하기, http 기반 응답 구현하기 Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스이다. HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다. 별도 포스팅으로 ResponseEntity를 설명하려함에도 같이 적는 이유는 RequestEntity, ResponseEntity가 세트로 사용되기 때문이다. 같이 사용함 으로써 간편하게 rest 전송 기능을 구현할 수 있다. 우선 RequestEntity에 대해 알아보자. public RequestEntity(@Nullable T body, @Nullab.. 2023. 6. 30. [Spring] ResponseEntity 사용하기, http 기반 응답 구현하기 Spring Framework에서 제공하는 클래스 중 HttpEntity라는 클래스가 존재한다. 이것은 HTTP 요청(Request) 또는 응답(Response)에 해당하는 HttpHeader와 HttpBody를 포함하는 클래스이다. HttpEntity 클래스를 상속받아 구현한 클래스가 RequestEntity, ResponseEntity 클래스이다. 이번에 포스팅 할 ResponseEntity는 사용자의 HttpRequest에 대한 응답 데이터를 포함하는 클래스이다. 따라서 HttpStatus, HttpHeaders, HttpBody를 포함한다. 다만, Response를 출력하는 로직을 만드는데 있어 굳이 ResponseEntity를 쓸 필요는 없다. Spring에서 제공하는 도구이며, Response.. 2023. 6. 28. [Java] Enum 상수 집합 사용하기 개발 업무를 하면서 enum은 사용해 본 적이 없다. 즉, 있는걸 까먹고 있었는데, 어쩌다가 공부하며 접하게 되어 기록을 남겨본다. enum은 서로 연관된 상수들의 집합을 class 대신 나타낸 것 정식 명칭은 열거형, 열거체 라고 한다. 언어마다 enum이 지원되지만, 사용 방법은 제각각 이라고 한다. 자바에선 1.5 부터 지원하는 형식이며, enum도 class의 형식 중 하나로 본다. 그렇다보니 별도 enum 형식으로 생성 가능하다. (interface 처럼) 만들어보면 다음처럼 표시된다. 샘플 Enum 소스 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39.. 2023. 6. 28. [java] jackson 에러 cannot deserialize from Object value 해결방법 com.fasterxml.jackson.databind.exc.InvalidDefinitionException: Cannot construct instance of `com.rest.example.domain.Ticket` (no Creators, like default constructor, exist): cannot deserialize from Object value (no delegate- or property-based Creator) rest api를 테스트하는 중 다음과 같은 에러를 발견했다. rest 소스코드 1 2 3 4 5 6 7 8 9 @PostMapping(value= "/postticket") public Ticket inputTicket(@RequestBody Ticket tic.. 2023. 6. 23. [Java] 파일생성 및 파일읽기 InputStream, OutputStream 사용방법 파일을 전송하거나 전송받아서 처리해야 하는 경우가 있다. 전송이야 sftp로 전송하면 되겠지만, 그 후에 db에 넣든 바로 출력하든 별도 전처리가 들어간다. 이걸 어떻게 할 것인가가 핵심인데, Java에선 InputStream 과 OutputStream같은 입출력Stream 기능을 활용하면 된다. 간단히 말해 byte 단위로 파일을 읽어들여 데이터를 읽어들이고 전송하는데 사용한다고 보면 된다. https://docs.oracle.com/javase/8/docs/api/java/io/InputStream.html InputStream (Java Platform SE 8 ) Reads some number of bytes from the input stream and stores them into the b.. 2023. 6. 21. [Python] 문자열에서 줄바꿈, 공백 제거 문자열에서 \n는 줄바꿈(개행, newline)을 의미하고, print()로 출력 시, 줄바꿈이 되어 출력됩니다. 문자열에서 문자 \n를 삭제하고 싶을 때 사용할 수 있는 방법들을 소개합니다. 1. replace(a, b)를 이용하여 줄바꿈 문자 제거 2. re.sub()를 이용하여 줄바꿈 문자 제거 3. strip()을 이용하여 줄바꿈 문자 제거 4. print()에서 기본으로 추가되는 줄바꿈 제거 1. replace(a, b)를 이용하여 줄바꿈 문자 제거 replace(a, b)는 문자열의 a를 b로 변경해줍니다. replace를 이용하여 아래와 같이 줄바꿈 문자를 공백으로 변경하여 제거할 수 있습니다. str = "\n Hello world, Python! \n" new_str = str.repla.. 2023. 6. 19. [Soap] soap 통신 개발하기 [2] server와 client 의 역할과 wsdl, xsd 알아보기 Soap 통신을 하는데 있어 Soap 전문을 만들어 발송(요청)하는 Client와 Soap 전문을 받아 확인 후 응답하는 Server가 필요하다. SOAP : “Simple Object Access Protocol" , HTTP, HTTPS 등을 사용해 XML기반 메시지를 통해 네트워크에서 통신하는 것 Client는 데이터를 요청 또는 전송 하기위해 Server에 데이터를 전달할 필요가 있는 것이다. 그렇다고 아무런 형식 없이 전달할 수는 없을 것인데, 어떤 데이터를 전달해야 하는지 메뉴얼(양식)을 Server에서 가이드 해줄 필요가 있다. 이를 Server에서 wsdl파일을 통해 제공한다. WSDL :은 설계도 파일로써 웹서비스가 기술된 정의 파일이다.(XML)로 구성되어 있다. wsdl 안엔 서비스 .. 2023. 6. 19. [이클립스] lombok 인식 안되는 이유 이클립스로 개발하는데 빌드 툴에서 dependency로 lombok을 불러올 수 있습니다. lombok을 빌드해서 실행하는데 문제는 없지만, IDE에서 lombok 인식을 못하는 에러가 발생합니다. 그럴땐 IDE에 lombok을 직접 추가해줘야 하는데, 다음 사이트에서 lombok을 다운로드 받아줍니다. https://projectlombok.org/ Project Lombok projectlombok.org 다운로드 받은 뒤 실행하면, eclipse 가 설치된 경로를 찾아준다. 뒤에 Install / Update 를 누르면 설치가 완료되며, 프로젝트를 열 고 나서 rebuild를 해주면 됩니다. 그 뒤엔 lombok이 인식 잘 되었습니다. 혹시 안된다면 댓글 남겨주길 바랍니다. 도움드릴 수 있으니. 2023. 6. 13. [Soap] soap 통신 개발하기 [1] 통신 사이클 이해하기 Soap 통신은 WebService의 일종으로써 TCP / IP를 통해 통신한다. HTTP 클라이언트는 HTTP 서버에 TCP 접속을 사용한다. 접속이 확립 된 후에, 클라이언트는 서버로 HTTP 요청 메시지를 전송할 수있다 : 그렇다면 이 과정에서 Soap 통신을 개발하기위해 Soap 통신 사이클을 먼저 알아야 한다. soap 관련 업무를 진행하며 내가 경험한 사이클은 다음과 같다. 1. soap 전문 작성 2. http 바인드 후 서버에 요청(POST) 3. 응답 받은 soap 전문 확인 4. 응답 코드 / response 결과에 따라 성공/실패 처리 5. 1~4 과정 로깅 및 추적기능 활성화 더욱 추가적인 처리 과정들이 있으나, 통신관련 사이클만 정리하자면 이렇다. 이과정들을 수행할 수 있어야 내가.. 2023. 6. 9. 이전 1 ··· 15 16 17 18 19 20 21 ··· 54 다음