본문 바로가기

728x90
반응형

Java/Spring

(13)
SOAP과 REST Web Application에서 Web Service로 전달되는 요청 정보를 클라이언트의 Request라고 하고, Web Service에서 처리된 결과를 다시 클라이언트나 Web Application으로 반환시켜 주는 것을 Response라고 함. 입력과 출력의 개념으로 본다면 Request가 Input, Response가 Output인 것.  Web Service를 개발하기 위해서는 서비스에 대한 정의가 필요한데 이를 정의하기 위해서는 어떠한 요청 정보가 있는지, 그리고 그러한 Request와 Response가 전달되는 데이터 포맷을 어떻게 할 것인지에 대한 정의가 선행되어야 함. 또한 Request와 Response의 구조, 요청하려 하는 서비스의 위치, 어떠한 방법으로 요청해야 하는지에 대한 정보를..
Web Service와 Web Application RESTful API를 개발하기에 앞서  Web Service와 Web Application에 대해 살펴 보자.    Web Service  WWW(World Wide Web)란 디바이스와 디바이스 간의 통신 서비스를 하는 것이고 또는 네트워크상에서 특정 포트를 열어 놓은 서버가 클라이언트의 요청을 받은 다음 HTML, JSON, XML 같은 웹 문서를 제공하는 것을 뜻함. Web Service란 이러한 WWW, 인터넷, HTTP의 기술을 사용하는 웹을 통해 특정한 도메인의 문제를 해결하기 위한 웹 애플리케이션 서비스를 뜻하기도 함.즉, 네트워크상에서 서로 다른 종류의 디바이스들 간의 상호작용을 하기 위한 소프트웨어 시스템. 이기종 간의 통신을 위한 분산 컴퓨팅 기능이라는 것은 웹 서비스 이전에도 있었으..
[Spring Boot] Spring Boot를 이용한 RESTful Web Services 개발 - 개요 본 포스트는 인프런 이도원 강사님의 "Spring Boot 3.x 를 이용한 RESTful Web Services 개발" 강의를 통해 직접 작성 및 정리한 글입니다.    이 강의는 Spring Boot를 이용하여 간단한 RESTful API를 개발해 보고, 나아가 Spring Cloud를 이용한 MSA 개발과도 연계되는 과정임.   2011년 베니스에서 개최된 소프트웨어 아키텍처 워크숍 이후 Micro Service라는 용어를 사용하기 시작함. 애플리케이션을 구축함에 있어서 전통적인 모놀리식 개발 방법이 아닌 Micro Service라는 개발 방법을 도입함으로써 개발뿐 아니라 유지보수에 있어서도 비용 절감, 효율성, 고객의 요구사항에 빠르게 대처할 수 있는 효과를 얻게 됨. 또한 이러한 Micro Se..
Mybatis에서의 Like문 사용 Mybatis에서 동적 쿼리 사용 시 DBMS별로 문법에 차이가 있음. DBMS 종류별 Mybatis LIKE문 사용 방법 Oracle SELECT * FROM table WHERE column LIKE '%'||#{parameter}||'%' MySQL SELECT * FROM table WHERE column LIKE CONCAT(‘%’, #{parameter}, ‘%’) MS-SQL SELECT * FROM table WHERE column LIKE '%' + #{parameter} + '%' 추가로 #{} 대신 ${}을 사용해 SQL에서 쓰던 문법대로 사용하는 것도 가능함. SELECT * FROM table WHERE column LIKE '%${parameter}%' 참고 자료 https://..
Mybatis에서 #{}와 ${}의 차이 ${} 사용 과정 ${} 사용 시 Statement 생성. Statement의 Parameter 값을 그대로 전달. arameter를 그대로 전달하기 때문에 문자열에 따옴표가 붙지 않음. 특징 Parameter가 바로 출력됨. 해당 컬럼의 자료형에 맞춰 Parameter의 자료형이 변경됨. Parameter 값이 넣어진 채로 Query문이 수행됨(parameter 값이 바뀌면 다른 query로 인식). 그러므로 Parameter의 값이 바뀔 때마다 항상 Query문에 대한 파싱을 진행해야 한다는 성능상의 단점을 내재하고 있어 속도가 저하될 수 있음. SQL Injection을 예방할 수 없어 보안 측면에서 불리함. 그러므로 사용자의 입력을 전달할 경우에는 사용하지 않는 편이 좋음. Table이나 Colu..

728x90
반응형