목록스프링 입문 (23)
코딩 기록들
스프링 프레임워크의 구성 : 총 20여가지 https://spring.io/projects/spring-framework/ -> 이러한 모듈들은 스프링의 핵심기능(DI, AOP, etc)을 제공하며 필요한 모듈만 선택하여 사용가능 현재 단일 아키텍처(대부분이 모놀리스 형태의 서버)에서 마이크로서비스 아키텍처로 변환중 (스프링도 이에맞춰 진화하고 있는 상태) 여러가지 모듈 중, 스프링부트(웹서버), 스프링데이터(JDBC, 마이바티스, JAP), 스프링배치(일정양의 데이터 모아서 대용량 처리), 스프링 시큐리티(웹서버, 백오피스 등 권한 관련된거 처리),스프링 클라우드(마이크로서비스) 스프링의 등장 배경 ) 2000년대 초반 자바 EE : 작성/테스트가 매우 어렵고 번거로웠다 -> 느슨한 결합이 된 애플리케..

- 데이터바디 : 넣을수는있지만 권장x - 리소스 삭제시 : 데이터베이스의 인덱스아이디거나 사용자의 유니크한값으로 삭제하기 때문에 Data Body 가지지 x - delete() 메소드의 경우 특정 인덱스아이디 or 사용자의 account 같은것을 받기때문에 여러가지 값을 받을 일이 없음 - delete 자체가 -> '리소스 삭제' 임 : 이미 리소스가 없는 상태이더라도, 200 OK 를 리턴 - 요청하는 값 자체가 굉장히 제한적이고 작기때문에 따로 DTO만들어서 받기보단, path variable이나 query parameter를 일일이 지정해서 받는것을 권장 [ Delete 기억하기 ] @RestController - Rest API 설정 @RequestMapping - 리소스 설정 (method로 ..

리소스의 갱신및 생성 : 리소스가 없으면 생성, 있으면 기존것을 업데이트 멱등한 이유 : 처음한번은 데이터 생성, 그다음에는 데이터가 없데이트됨 = 데이터는 '하나' put 어노테이션 @RestController - RestAPI 설정 @RequestMapping - 리소스를 설정(메소드로 구분가능) : resource 의 api 주소 설정용 @PutMapping- Put Resource(path reosource) 설정 @RequestBody - Request Body 부분 Parsing @PathVariable - URL path Variable Parsing package com.example.put; import com.example.put.dto.PostRequestDto; import org...

POST API - 매번생성하기때문에 멱등성x, 안정성x = 요청할때마다 데이터가 생성됨 - Query Parameter 생성할수는 있지만, 보통 잘 만들지 않음 - 데이터를 주고받을때 : XML, JSON 형태를 주로 웹에서 주고받음 (최근 : JSON 대부분 사용) JSON 기본구조 - 괄호로 시작 - key : value로 값이 이루어짐 - string, number, boolean, object, array 형태가 있음 (모든값이 value에 세팅될수있음) JSON String : value number : value boolean : value object : value { } array : value [ ] //같은값에 대한 반복 { "id" : "value" } - json 규칙 1. sna..

import com.example.hello.dto.UserRequest; import org.springframework.web.bind.annotation.*; import java.util.Map; @RestController @RequestMapping("/api/get/") public class GetApiController { //1. 명확하게 경로를 지정해주는 방법 : path = "/hello" (현재 사용 중인 방법) @GetMapping(path = "/hello") // http://localhost:9090/api/get/hello public String getHello(){ return "get Hello"; } //2. 예전에 쓰던 방법 리퀘스트매핑방법 // @RequestM..

기본적으로 브라우저를 통한 통신방법 : get방식으로 통신을 함 + 이후의 실습을 위해 크롬 웹스토어에서 요거를 'chrome에 추가' 해준다 -> 웹어플리케이션을 개발한 다음 해당 응답이 잘 오는지, 요청을 잘 받아주는지 쉽게 확인하는 용도로 사용! 8080포트가 이미 사용중이라면, 혹은 다른포트를 사용하고 싶다면 바꾸는 방법 1. src > main > resources > application.properties 파일에서 2. 아래와같이(바꾸고싶은 숫자로) 입력한다 server.port= 9090 스프링부트를 통해서 간단하게 문자(Hello Spring Boot) 리턴 시켜보기 * 스프링부트에서 요청을 받는 부분 = 컨트롤러 (controller) 스프링에서 컨트롤러를 작성시키기 위해서는 클래스를 ..
URI (Uniform Resource Identifier) - 인터넷에서 특정자원을 나타내는 주소값 - 해당 값은 유일함 (응답은 달라질 수 있음 - ) - URI의 리소스정보는 변경될 수 있음 URL (Uniform Resoruce Locator) -> URI의 하위개념 - 인터넷상에서의 자원, 특정 파일등이 어디에 위치하는지 식별하는 주소 - URL의 리소스정보는 변경될수 없음 (딱, 정확하게 지정된 위치이기 때문) URI 설계원칙 (RFC - 3986) -> 못지킨다고해서 잘못되는건 아님 슬래시 구분자 / 는 계층 관계를 나타내는데 사용 URI 마지막 문자로 / 는(x) 포함하지 않음 하이픈 - 은 URI가독성을 높이는데 사용함 ex) webmaster -> web-master 밑줄 _ 은 사용하..
웹의 용도 1) Html로 구성된 웹사이트 - http프로토콜을 사용해 html문서받아와서 user interface에 해당되는 브라우저를 통해 보게 됨 ex) googl, naver... 2) API를 사용하는 웹서비스 ex) kakao, google, naver의 Open API 3) 유저인터페이스 ex) chrome, safari, smart watch, IP TV 웹의 기본 3가지 요소 1. URI - Uniform Resource Identifier (주소로 접근) - 리소스 식별자 : 특정 사이트&쇼핑목록, 리소스 등 모든 정보에 접근할 수 있는 정보 2. HTTP - Hypertext Transfer Protocol (주소로 접근 한 후 어떠한 프로토콜을 통해서 주고받을것인지) - 어플리케이..