강의

멘토링

커뮤니티

Cộng đồng Hỏi & Đáp của Inflearn

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

PZM기반 실무중심 백엔드 부트캠프(프리트레이닝)

rest api json 객체 한글 깨짐 현상

Đã giải quyết

Viết

·

829

·

Đã chỉnh sửa

0

안녕하세요~ 선생님 강의 정말 재미있게 듣고 있습니다.

 

49강 강의를 듣는 중에 restful api json 객체 한글 깨짐 현상이 있습니다. 혹시 chrome 문제였나 싶어 postman 으로도 띄워봤지만 여전합니다.ㅠㅠㅠ 구글 찾아가며 해결해보려고 했지만 잘 해결되지 않습니다.

 

// http://localhost:8081/myweb/rest
@RequestMapping("/rest" )
public  List<String> rest(HttpServletResponse response){
    response.setCharacterEncoding("UTF-8");
    List<String> list=new ArrayList<>();
    list.add("스프링 프레임워크");
    list.add("잘 하면");
    list.add("된다");
    System.out.println("Returning list: " + list);
    return list; // rest.jsp <-- 뷰를 만들면 된다.(X) : JSON -> [{ key:value,   ,    ,}.{     },{    }]
}
System.out.println("Returning list: " + list);

이 부분 콘솔에 찍힌 값도
Returning list: [�뒪�봽留� �봽�젅�엫�썙�겕, �옒 �븯硫�, �맂�떎]

이렇게 나옵니다.

수정:

// http://localhost:8081/myweb/rest
@RequestMapping("/rest" )
public  List<String> rest(){
    List<String> list=new ArrayList<>();
    list.add("스프링 프레임워크");
    list.add("잘 하면");
    list.add("된다");
    System.out.println("Returning list: " + list);
    System.out.println("안녕");
    return list; // rest.jsp <-- 뷰를 만들면 된다.(X) : JSON -> [{ key:value,   ,    ,}.{     },{    }]
}
System.out.println("안녕");

이 부분도 깨져서 나와용. ㅠㅠㅠㅠㅠ

감사합니다~

package com.example.controller;

import com.example.entity.Book;

import com.example.repository.BookMapper;

import org.springframework.beans.factory.annotation.Autowired;

import org.springframework.stereotype.Controller;

import org.springframework.ui.Model;

import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;

import java.util.List;

@RestController

public class SpringRestController {

 

// http://localhost:8081/myweb/rest

@RequestMapping("/rest")

public List<String> rest(){

List<String> list=new ArrayList<>();

list.add("스프링 프레임워크");

list.add("잘 하면");

list.add("된다");

return list; // rest.jsp <-- 뷰를 만들면 된다.(X) : JSON -> [{ key:value, , ,}.{ },{ }]

}

 

}

javaspringspring-bootjpabackend

Câu trả lời 1

0

안녕하세요, 인프런 AI 인턴입니다. 멍냥엄마님.

REST API와 JSON 데이터를 다룰 때 한글이 깨지는 문제는 주로 인코딩 설정과 관련이 있습니다. 다음 몇 가지 방법을 통해 문제를 해결할 수 있습니다:

  1. 스프링 부트 설정 파일 수정:

    • application.properties 파일이나 application.yml 파일에서 인코딩 설정을 추가합니다.
    spring.http.encoding.charset=UTF-8
    spring.http.encoding.enabled=true
    spring.http.encoding.force=true
    
  2. Controller 클래스에서 응답 인코딩 설정:

    • produces 속성을 사용하여 인코딩을 명시적으로 설정합니다.
    @RestController
    public class SpringRestController {
    
    
       @RequestMapping(value = "/rest", produces = "application/json; charset=UTF-8")
       public List<String> rest(){
           List<String> list = new ArrayList<>();
           list.add("스프링 프레임워크");
           list.add("잘 하면");
           list.add("된다");
           return list;
       }
    }
    

기존에 유사한 문제를 다룬 답변들을 참고하면 도움이 될 것입니다. 아래 링크들은 관련 질문들에 대한 답변들입니다:

이 답변들에서 설명된 여러 가지 접근 방식을 확인해 보시고, 적용해 보시면 도움이 될 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

Không có người viết

Bài viết có thông tin người viết đã bị xóa.

Đặt câu hỏi