본문 바로가기

전체 글

(93)
6. 리소스 삭제 DELETE DELETE package com.example.delete.controller; import org.springframework.web.bind.annotation.*; @RestController @RequestMapping("/api") public class DeleteApiController { @DeleteMapping("/delete/{userid}") public void delete(@PathVariable String userid, @RequestParam String account){ System.out.println(userid); System.out.println(account); } } Delete는 get과 동작이 비슷하다. 데이터가 있던 없든 요청이 정확하다면 200ok를 돌..
5. PUT API PUT 은 첫 한번 데이터가 생성되고 그 다음에는 계속 데이터가 업데이트 되기 때문에 데이터는 항상 하나이므로 멱등하다고 할 수 있다. 잘못된 데이터도 전송하기 때문에 안정성은 낮고 Query Parameter는 따로 설계하지 않는 것이 권장된다. import com.example.put.dto.PostRequestDto; import org.springframework.web.bind.annotation.PutMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bin..
4. POST API WEB에서는 json이나 xml 형태로 주고 받는다. 최근에는 json을 많이 쓴다. JSon 데이터 종류 String : value number : value boolean : value { } object : value array : value [ ] phone_number => 이런식으로 단어를 연결 할 때 _ 붙이는 것을 스네이크 케이스 phoneNumber => 이런식으로 단어를 하는 것은 카멜 케이스(낙타봉 형태) Post일때 @RequestBody를 꼭 붙여주자 @RestController @RequestMapping("/api") public class PostApiController { @PostMapping("/post") public void post(@RequestBody Map r..
3. GET API GET은 리소스를 취득하는 API이며 쿼리 파라미터를 가질 수 있다. @GetMapping에 default로 값을 입력하면 path로 등장한다. 명시적으로 등록하려면 (path = " 값 " 을 넣으면 된다. @RequestMapping("/hi") // get / post / put / delete public String hi(){ 이런식으로 지정하면 모든 메서드에 동작이 되므로 명시적으로 지정해줘야 한다. @RequestMapping(path = "/hi", method = RequestMethod.GET) // get http://localhost:9090/api/get/hi @RequestMapping을 이와같이 사용하는 것은 예전에 활용하던 주소 매핑 방식. 이 방식을 합친 것이 @GetMap..
2. Hello World API 만들기 무료이고 UI 자체도 나쁘지 않다고 추천 받았기에 Talend API Tester를 사용하게 되었다. 톰캣의 사용 port를 바꾸고 싶다면 resources 폴더 안에 aplication.properties에 server.port= [바꾸고 싶은 번호]를 입력하면 된다. 스프링부트에서 요청을 받는 부분을 컨트롤러라고 부른다. 컨트롤러라고 동작하기 위해서는 어노테이션으로 지정해줘야 한다 @RestController package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import..
1. Spring Boot란? Spring Boot는 단순히 실행되며, 프로덕션 제품 수준의 스프링 기반 어플리케이션을 쉽게 만들 수 있다. Spring Boot 어플리케이션에는 Spring 구성이 거의 필요 하지 않다. Spring Boot java -jar 로 실행하는 Java 어플리케이션을 만들 수 있다. 주요 목표 1. Spring 개발에 대해 빠르고, 광범위하게 적용할 수 있는 환경. 2. 기본값 설정이 있지만 설정을 바꿀 수 있다. 3. 대규모 프로젝트에 공통적인 비 기능 제공(보안, 모니터링 등등) 4. XML 구성 요구사항이 전혀 없음. => 어노테이션 기반으로 바뀜. 빌드 툴은 maven, gradle이 있다. 핵심: 1. 어플리케이션 개발에 필수 요소들만 모아 두었다. 2. 간단한 설정으로 개발 및 커스텀이 가능하다..
HTTP Protocol HTTP(Hyper Text Transfer Protocol)로 RFC 2616에서 규정된 Web에서 데이터를 주고 받는 프로토콜. 이름에는 하이퍼텍스트 전송용 프로토콜로 정의되어 있지만 실제로는 HTML, XML, JSON, Image, Voice, Video, Javascript, PDF 등 다양한 컴퓨터에서 다룰 수 있는 것은 모두 전송 할 수 있다. 또한 HTTP는 TCP를 기반으로 한 REST의 특징을 모두 구현하고 있는 Web 기반의 프로토콜이다. HTTP는 메시지를 주고(Request) 받는(Response) 형태의 통신 방법이다. 클라이언트는 서버에 요청을 하고 서버는 요청을 받는다. HTTP의 요청을 특정하는 Method는 8가지가 있다. REST를 구현하기 위한 인터페이스이니 알아둬야 ..
URI 설계 패턴 1. URI (Unifrom Resource Identifier) 인터넷에서 특정 자원을 나타내는 주소 값. 해당 값은 유일 하다.(응답은 달라질 수 있다.) 2. URL(Uniform Resource Locator) 인터넷 상에서의 자원, 특정 파일이 어디에 위치하는지 식별 하는 주소. URL은 URI의 하위 개념 입니다. URI 설계 원칙 1. 슬래시 구분자(/)는 계층 관계를 나타내는 데 사용한다. 2. URI 마지막 문자로 (/)는 포함하지 않는다. 3. 하이픈(-)은 URL 가독성을 높이는데 사용한다. 4. 밑줄(_)은 사용하지 않는다. 5. URI 경로에는 소문자가 적합하다. 6. 파일 확장자는 URI에 포함하지 않는다. 7. 프로그래밍 언어에 의존적인 확장자를 사용하지 않는다. 8. 구현에 ..