목록분류 전체보기 (231)
코딩 기록들

- 데이터바디 : 넣을수는있지만 권장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...
함수형 프로그래밍과 람다식 자바 8부터 함수형 프로그래밍 방식을 지원하고 이를 람다식이라 함 함수의 구현과 호출만으로 프로그래밍이 수행되는 방식 함수형 프로그래밍 : 함수를 기반으로 하는 프로그래밍이고 입력받는 자료 이외에 외부 자료를 사용하지 않아 여려 자료가 동시에 수행되는 병렬처리가 가능 -> 함수형 프로그래밍은 함수의 기능이 자료에 독립적임을 보장. 이는 동일한 자료에 대해 동일한 결과를 보장하고, 다양한 자료에 대해 같은 기능을 수행할 수 있음 함수형 프로그래밍은 순수함수(pure function)를 구현하고 호출함으로써 외부 자료에 부수적인 영향(side effect)를 주지 않도록 구현하는 방식 -> 순수 함수란 매개변수만을 사용하여 만드는 함수. 즉, 함수 내부에서 함수 외부에 있는 변수를..
1.여러 내부 클래스의 정의와 유형 내부클래스 중첩클래스 라고도 함 클래스 내부에 클래스를 선언 -> 클래스 내부에서만 사용 (외부에서 사용 못하게 하기 위함 -> 주로 내부클래스는 private로 선언함) 내부클래스의 종류 : 인스턴스 내부 클래스, 정적(static) 내부 클래스, 지역(local->함수 안에서 사용 ) 내부 클래스, 익명(anonymous-> 변수에는 없는내용, 현업에서 가장 많이 활용되는 클래스) 내부 클래스 인스턴스 내부클래스 내부적으로 사용할 클래스를 선언 (private으로 선언 권장) 외부 클래스가 생성된 후 생성됨 ( 정적 내부 클래스와 다름 ) private이 아닌 내부 클래스는 다른 외부 클래스에서 생성할 수 있음 static변수를 내부에 사용할수없음 : 외부클래스 생..

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) 스프링에서 컨트롤러를 작성시키기 위해서는 클래스를 ..

스프링부트 Spring Boot - 단순히 실행되며, 프로덕션 제품 수준(실제 상품이 되어 사용자들에게 서비스가 제공되는 것)의 스프링 기반 어플리케이션을 쉽게 만들 수 있음 - 스프링부트 어플리케이션에는 스프링(Spring)구성이 거의 필요하지 않음 - 스프링부트 java-jar로 실행하는(패키징되는) Java 어플리케이션을 만들수있음 (스프링부트 자체가 톰캣을 내장하고있기 때문에 따로 톰캣을 설치하는 등의 작업이 필요없음) 주요목표 - Spring개발에 대해 빠르고, 광범위하게 적용가능 - 기본값이 설정되어있어 특별히 다른설정을 하지 않아도 됨 - 대규모프로젝트에 대해 공통적인 비기능 제공 (ex.보안, 모니터링 등) - XML구성 요구사항이 전혀없음 (어노테이션만 달아주면 됨) 빌드 툴 Build ..