# @ResponseBody

29개의 포스트
post-thumbnail

Spring Boot (5)

검색 기능 형식 > https:// www.google.com - 도메인 /search - 엔드포인트 ?q=폴라리스&ie=UTF-8 - 쿼리스트링 > 쿼리스트링 - 주소에 변수를 담아 보낼 때 사용 ?변수=값&변수=값&... @PathVariable >경로에서 매개변수를 받을 때의 표현식 변수 이름은 동일해야 함 @RequestParam >- 쿼리스트링을 자바 변수로 받을 수 있다 꼭 필요한 값이 아니면 required = false 디폴트 값은 null, 지정하고 싶을 시 defaultValue = (디폴트 값) name = "firstName"은 생략 가능(변수명이 같을 때) > java List findByFirstNameContainingIgnoreCase(String firstName); java public List getSearchEmpTablePage

2023년 7월 20일
·
1개의 댓글
·
post-thumbnail

REST와 관련된 어노테이션

| 어노테이션 | 기능 | | --- | --- | | @RestController | Controller가 REST 방식을 처리하기 위한 것임을 명시한다. | | @ResponseBody | 뷰로 전달되는게 아니라 데이터 자체를 전달하기 위한 용도 | | @RequestBody | JSON 데이터를 원하는 타입으로 바인딩 처리 | | @PathVariable | URL 경로에 있는 값을 파라미터로 추출하려고 할 때 사용 | | @CrossOrigin | Ajax 크로스 도메인 문제를 해결해주는 어노테이션 | @RequestBody & @ResponseBody @RequestBody와 @ResponseBody는 요청과 응답에 관한 어노테이션으로 스프링 비동기 처리를 하는 경우 사용한다. 사용 목적

2023년 7월 16일
·
1개의 댓글
·
post-thumbnail

springboot @ResponseBody 사용원리

http://localhost:8080/hello-api?name=spring

2023년 7월 1일
·
0개의 댓글
·
post-thumbnail

[Spring] 데이터를 Client에 반환하는 방법

Response 트렌드의 변화 과거에는 서버가 주로 요청을 받아 html/css/js 파일을 반환해주곤 했다. 하지만 최근의 경향은 다르다. 웹 생태계가 고도화 되는 과정중에 상대적으로 프론트엔드와 백엔드가 각각 따로 발전하게 되면서, 느슨하게 결합하는 방식을 더 많이 채택하게 되었다. 그래서 최근에는 서버가 직접 뷰(html/css/js)를 반환하기 보다는 요청에 맞는 특정한 정보만 반환하는 것을 조금 더 선호하기도 한다. 서버에서는 데이터 교환 포맷 중 주로 JSON 형태로 데이터를 반환한다. ![](

2023년 6월 24일
·
0개의 댓글
·
post-thumbnail

[SPRING] @ResponseBody

도대체 몇번째 오류인지 모르겠다 챗지피티api를 사용해서 지피티의 답변을 json 형식으로 받아와 출력하는 부분에서 console이 아주 빨간창으로 아주 물들고, 분명 백단에서는 데이터를 받아오는게 잘되는데 프론트에서만 에러가 뜨는게 말이되나 대가리 깨질뻔했다.. > 아니 .html 없다고 그거 멍청한 0101110101자식아 심지어 이거 두번째 마주하는 오류였다능..ㅎ.ㅋ.ㅋ....!!!! 두번 다 post로 controller에 연결하는건데 자꾸 template를 찾아대니까 오류가 뿜뿜 하는거였다,,, 이래서 오류

2023년 6월 16일
·
0개의 댓글
·
post-thumbnail

TIL - Git add 오류 | @ResponseBody

문제1 - git add . 오류 1) 문제 Spring을 처음 활용하여 프로젝트를 생성해보게 되었다. 평소와 다름없이 깃허브에 프로젝트를 올리고자, git add . 를 실행했다. 그런데 ,, 두둥 처음 보는 내용의 오류가 발생되며 명령어가 실행되지 않았다. 2) 시도 내용을 읽어보긴 했으나, LF와 CRLF를 알지 못해서 에러 메시지를 검색해보았다. LF는 Line-Feed의 약자라고 한다. 커서는 그 자리에 둔 상태에서 종이만 한 줄 올리는 동작이다. CRLF는 Carriage Return Line-Feed의 약자라고 한다. 커서를 다음 라인의 맨 앞으로 이동하는 동작이다. 이는 윈도우에서 발생하는 에러 메시지로, OS 마다 사용되는 줄바꿈 문자열이 달라 발생하는 오류라고 한다. 에러를 해결하지 않을 경우, 줄바꿈 문자에 의해 커밋 내역이나 설정 파일들이 이상해질 가능성이 있기 때문에 통일하는 것을 추천한다고 한다. 출처: https://v

2023년 6월 12일
·
0개의 댓글
·
post-thumbnail

[Spring] @RequestBody 그리고 @ResponseBody

개요 웹 프로그래밍에서 JSON 통신은 매우 중요한 요소입니다. JSON은 데이터 교환 형식 중 하나이며 웹 애플리케이션에서 클라이언트와 서버 간의 데이터 교환에 많이 사용됩니다. 이러한 JSON 데이터들은 일반적으로 HTTP 요청 또는 응답의 바디에 포함되어 전달됩니다. 그렇기 때문에 @RequestBody 그리고 @ResponseBody를 잘 이해하고 적재적소에 활용하는 것은 매우 중요합니다. 이를 짧은 코드를 통해 학습해보고자 합니다. @RequestBody 해당 애노테이션이 붙은 매개변수에 HTTP 요청의 Body가 그대로 전달됩니다. 위 코드에서는 Body를 통해 전송된 JSON 데이터를 bookRequest 객체로 변환하여 받고 있습니다. 어떻게 변환을 받는가 JSON 데이터는 {”키” : “값”} 으로 구성되어 있습니다. 위 예제에서 JSON 데이터가 {”title” : “Harry Potter”, “autho

2023년 5월 22일
·
0개의 댓글
·

HTTP 요청 조회 - 응답

정적 리소스 HTML, CSS, JS 스프링 부트는 클래스패스의 다음 경로에 있는 정적 리소스들을 제공한다. 기본 시작 경로: src/main/resources /static, /public, /resources, /META-INF/resources src/main/resources/static에 index.html을 넣으면 root url(/)에 뿌려준다. URL을 통해 (정확히는 GET 요청을 통해) 파일에 직접 접근이 가능하다. 뷰 템플릿 Thymeleaf, JSP 기본 경로 : src/main/resources/templates 방법 1: ModelAndView 반환 클라이언트가 /response-view-v1로 접속한다. ModelAndView 객체를 생성하여 뷰 템플릿을 찾는다. `src/main/resources/templates/respon

2023년 2월 11일
·
0개의 댓글
·
post-thumbnail

스프링 @ResponseBody

@ResponseBody 애노테이션 연구실 서비스 프로젝트를 진행하다가 @ResponseBody 애노테이션을 사용하는 이유가 궁금해졌다. 애노테이션 선언부로 들어가 보면 다음과 같은 설명이 있다. > Annotation that indicates a method return value should be bound to the web response body. Supported for annotated handler methods. > ‘해당 메서드의 return 값은 반드시 웹 response body에 바인딩 되어야 한다.’ HTTP 응답 메시지 바디에 return 값이 담긴다는 의미일 것이다. 그동안 이 프로젝트뿐만 아니라 다른 프로젝트에서도 @ResponseBody 애노테이션을 사용한 적이 없는 것 같다. 그럼에도 불구하고 HTTP 메시지 바디에 반환값이 잘 담겨 전달되었다. 그럼 굳이 이 애노테이션이 필요 없는 것 아닌가 싶었다. `@R

2023년 1월 27일
·
0개의 댓글
·
post-thumbnail

[Spring] @RequestBody vs @RequestParam vs @ModelAttribute

🌱 @RequestBody & @ResponseBody 웹에서 이루어지는 데이터 통신은 클라이언트와 서버간에 이루어지고 이때 중요한 것이 요청(Request)와 응답(Response)입니다. 비동기 통신을 위해서는 요청메시지와 응답메시지를 Body에 담아 보내야하는데 데이터의 형식은 JSON으로 설정합니다. 이때 @RequestBody와 @ResponseBody를 사용합니다. HttpServleRequest를 이용해 데이터를 가져오면 굳이 @RequestBody가 필요하지 않지만 VO, DTO를 사용해 데이터를 받기위해서는 사용해야 합니다. 🎈 @RequestBody 클라이언트 >> 서버 데이터를 전송할 때 JSON형태로 데이터를 만들어 요청하면 서버에서는 @RequestB

2023년 1월 19일
·
0개의 댓글
·
post-thumbnail

[spring boot] responseBody MappingJackson2HttpMessageConverter의 convert 원리

org.springframework.web.HttpMediaTypeNotSupportedException: Content type '' not supported ERROR 발생 as is to be getter를 추가해주면 된다. 왜 에러가 발생한 것일까? 스프링 가이드를 찾아보면, 스프링 HTTP message converter (MappingJackson2HttpMessageConverter)를 통해 자동으로 객체를 json형태로 변환시킨다. MappingJackson2HttpMessageConverter의 기본 생성자는 Jackson2ObjectMapperBuilder에서 제공하는 기본 구성을 사용한다고 되어있다. Jackson2Obje

2023년 1월 8일
·
0개의 댓글
·

HTTP 응답 - HTTP API, 메세지 바디에 직접 입력

HTTP API를 제공하느 경우에는 HTML이 아니라 데이터를 전달해야 하므로, HTTP 메세지 바디에 JSON 같은 형식으로 데이터를 실어 보낸다. 🤞참고 ) HTML이나 뷰 템플릿을 사용해도 HTTP 응답 메세지 바디에 HTML 데이터가 담겨서 전달된다. 여기서 설명하는 내용은 정적 리소스나 뷰 템플릿을 거치지 않고, 직접 HTTP 응답 메세지를 전달하는 경우를 말한다. ResponseBodyController 경로 : hello.springmvc.basic.response responseBodyV1 서블릿을 직접 다룰 때 처럼 HttpServletResponse 객체를 통해서 HTTP 메세지 바디에 직접 ok응답 메세지를 전달한다. response.getWriter().write("ok") responseBodyV2 ResponseEntity엔티티는 HttpEntity를 상속 받는데, HttpEntity는 Http 메세지의 헤

2022년 12월 28일
·
0개의 댓글
·
post-thumbnail

HTTP에 대하여

ResponseEntity클래스에서 상태 코드를 반환하는 것과 데이터를 받아오거나 보낼 때 사용하는 @RequestBody, @ResponseBody를 공부하면서 데이터(JSON)가 어떤 방식으로 url을 통해 전송이 되는지 궁금해지기 시작해서 공부해보았다. HTTP Hyper Text Transfer Protocol 하이퍼텍스트(HTML) 문서를 교환하기 위해 만들어진 protocol(통신규약)이다. 프론트앤드 서버와 클라이언트간의 통신에 사용된다. 또한 백앤드와 프론트앤드 서버간에 통신에도 사용된다. HTTP는 TCP/IP 기반으로 되어있다. HTTP 구조 HTTP의 통신 방식은 기본적으로 '요청과 응답(request, response)'으로 이루어져 있다. 클라이언트가 요청(HttpRequest)을 서버에 보내면 서버는 클라이언트에게 응답(HttpResponse)하는 구조이다. HTTP Request HTTP req

2022년 12월 3일
·
0개의 댓글
·
post-thumbnail

스프링 - Path parameter, Spring Error HttpStatus, Response Body, RestAPI Http Method

1. Path parameter 란? 가령 다음과 같은 url 을 호출하는 api 가 있다고 생각 /users/{id}/todos/{id} => /users/1/todos/101 여기서 id 는 variable 으로서 유동적으로 변할 수 있다 대부분의 Rest API url 들은 위와 같이 path 파라미터로 이루어져있다 Path 파라미터 사용법 이를 브라우저에서 확인해보면 이렇듯 variable 값들을 PathVarible들을 어노테이션을 통하여 매핑해줄 수 있다. 대부분의 rest api 들을 이러한

2022년 9월 24일
·
0개의 댓글
·
post-thumbnail

스프링 웹 개발 기초

1. 정적 컨텐츠 • 스프링부트 정적 컨텐츠 기능 • 메인메소드를 실행한 후 src/main/java/hello.hellospring/HelloSpringApplication에서 Run • http://localhost:8080/hello-static.html url을 입력하면 아래처럼 정적 컨텐츠가 웹 브라우저에 출력된다. 출력 화면 정적 컨텐츠 출력 원리 2. MVC와 템플릿 엔진 • MVC: Model, View, Controller Controller **Vi

2022년 9월 21일
·
0개의 댓글
·

어노테이션2 annotation

@DynamicInsert : 해당 어노테이션을 엔티티에 적용시켜 삽입 또는 수정 쿼리를 동적으로 만드는 방식이다. 이 어노테이션을 적용하게 되면 Insert 쿼리를 날릴 때 null인 값은 제외하고 쿼리문이 만들어진다. @RequestMapping : 우리는 client에서 오는 요청을 처리하기 위한 api url을 매핑할 때 Spring의 @RequestMapping이라는 어노테이션을 사용한다. Spring은 사용자의 편리를 위해 RequestMapping을 http에서 지원하는 4가지 method인 @GetMapping, @PostMapping, @PutMapping, @DeleteMapping과 추가적으로 @PatchMapping까지 여러가지 방법의 매핑 방식으로 확대하여 제공하기도 한다. RequestMapping은 요청이 들어왔을 시에 컨트롤러와 매핑해주고, 그 컨트롤러를 실행시켜 응답을 받는다.

2022년 8월 9일
·
0개의 댓글
·
post-thumbnail

[백엔드 첫 걸음] @Controller vs @RestController? (스프링)

이번 글은 새로운 실습을 하기위하여 보기 시작한 책을 공부하다가 정리를 해놓아야겠다 생각이 들어 작성을 하게 되었다. 이전 스프링 입문강의에서는 웹mvc를 구현하기위하여서 controller를 만들때 @Controller라는 어노테이션을 붙이고 시작하였는데 이곳에서는 @RestController라는 어노테이션을 붙이고 시작하였고 심지어 그에 따라 나오는 결과도 달랐다. 그리하여 이 두 가지의 차이에 대해서 알아보고자 한다. 1. @Controller 기본적으로 우리는 MVC패턴이라는 말을 이전에도 사용한 것처럼 Model, View, Controller라는 것의 줄임말이라는 것을 본 적이 있었다. 이전에 했었던 Controller를 만드는 실습에서는 model이라는 객체 안에

2022년 8월 7일
·
0개의 댓글
·

Restful API

Open API 개방형 API 프로그래밍에서 사용할 수 있는 개방되어 있는 상태의 인터페이스 다음, 네이버, 통계청, 기상청 등에서도 데이터를 외부 응용 프로그램에서 사용할 수 있도록 Open API를 제공하고 있다. 대부분은 API는 REST 방식으로 지원되고 있다. REST API란?? HTTP와 URI 기반으로 자원에 접근할 수 있도록 제공하는 애플리케이션 개발 인터페이스 HTTP URI + HTTP Method HTTP URI를 통해 제어할 자원(Resource)을 명시하고, HTTP Method(GET, POST, PUT, DELETE)를 통해 해당 자원을 제어하는 명령을 내리는 방식의 아키텍쳐 HTTP 프로토콜에 정의된 4개의 메서드들이 자원에 대한 CRUD Operation을 정의 POST : Create(Insert) GET : Read(Select) PUT : Update or Create DEL

2022년 6월 15일
·
0개의 댓글
·

responsbody

controller에 @ResponseBody => html이 표시되는게 아니라 리턴값 자체가 표시됨

2022년 4월 26일
·
0개의 댓글
·
post-thumbnail

[자바스크립트] Spring에서 Ajax 사용하기

@ResponseBody를 사용하면 return 값이 그대로 브라우저에 전송된다. => It's Rainning이라는 JSP를 찾는게 아니라 It's Rainning을 그대로 브라우저에 출력한다. => 에러 발생(브라우저는 자바의 Map을 모르기 때문에) list나 Map을 json형식으로 변환시켜줘야 함. 이걸 가능하게 해주는 것이 Maven Repository의 Jackson Databind 최신버전 선택해서 가져오기 > pom.xml에 붙여넣고 Run As > 4. Maven list나 Map을 xm

2022년 3월 17일
·
0개의 댓글
·