백엔드 상호작용 및 json 사용

백그라운드 개발자에게 가장 짜증나는 일은 앞부분과 접촉하는 것이다.마찬가지로 전방 개발자에게도 백엔드 개발과 접촉하는 것이 낫다.
쓸데없는 말은 하지 말고 오늘 나는 이 문제를 해결하여 백스테이지와 앞사람이 즐겁게 지낼 수 있도록 하겠다.글이 부족한 점을 많이 지적하여 바로잡아 주십시오.
전후단의 상호작용은 전달 매개 변수와 되돌아오는 매개 변수에 불과하다
먼저 프런트엔드 전송 매개변수를 살펴보겠습니다.
일반적인 매개 변수는 json 형식으로 백엔드에 전달됩니다. 먼저 json에 대해 간단한 소개를 하겠습니다.
json
1. json의 사용
JSON은 두 가지 구조가 있어요.
json은 간단하게 말하면 자바스크립트의 대상과 수조이기 때문에 이 두 가지 구조는 대상과 수조 두 가지 구조이다. 이 두 가지 구조를 통해 각종 복잡한 구조를 나타낼 수 있다.
  • 1. 대상: 대상은 js에서'{}'로 괄호된 내용을 표시하고 데이터 구조는 {key:value, 키:value,...}의 키 값이 맞는 구조는 대상을 대상으로 하는 언어에서 키는 대상의 속성이고value는 대응하는 속성 값이기 때문에 쉽게 이해할 수 있고 값을 얻는 방법은 대상이다.키는 속성 값을 가져옵니다. 이 속성 값의 유형은 숫자, 문자열, 그룹, 대상 몇 가지가 될 수 있습니다.
  • 2. 수조: 수조는 js에서 중괄호'[]'로 묶인 내용으로 데이터 구조는 ['java','javascript','vb',...]값을 얻는 방식은 모든 언어와 마찬가지로 인덱스로 가져옵니다. 필드 값의 유형은 숫자, 문자열, 그룹, 대상 몇 가지가 될 수 있습니다.

  • 예:
    {
    
        "animals": {
    
            "dog": [
    
                {
    
                    "name": "Rufus",
    
                    "age":15
    
                },
    
                {
    
                    "name": "Marty",
    
                    "age": null
    
                }
    
            ]
    
        }
    
    }
    
    

    2. json의 문법
    JSON 구문은 JavaScript 객체가 나타내는 구문의 하위 집합입니다.
  • 이름/값 쌍에 데이터 포함
  • 데이터는 쉼표로 구분
  • 괄호 저장 대상
  • 중괄호 저장 수조
  • JSON 값은 다음과 같습니다.
  • 숫자(정수 또는 부동점수)
  • 문자열(큰따옴표 중)
  • 논리적 값(true 또는false)
  • 배열(중괄호 중)
  • 객체(괄호 중)
  • null
  • 예제
  • var sites = [ { "name":"runoob" , "url":"www.runoob.com" }, { "name":"google" , "url":"www.google.com" }, { "name":"  " , "url":"www.weibo.com" } ];

    이와 같이 JavaScript 객체 배열의 첫 번째 항목에 액세스할 수 있습니다(인덱스는 0부터 시작).
    sites[0].name;runoob 결과
     
    3、JSON.parse () 방법
    JSON은 일반적으로 서버와 데이터를 교환하는 데 사용된다.
    서버 데이터를 수신할 때 일반적으로 문자열입니다.
    우리는 JSON을 사용할 수 있다.parse() 메서드는 데이터를 JavaScript 객체로 변환합니다.
    예를 들어 서버로부터 다음과 같은 데이터를 받았습니다.
    {"name": "이백", "age": 20,"add": "사천"}
    우리는 JSON을 사용합니다.parse() 메서드는 위의 데이터를 처리하여 JavaScript 객체로 변환합니다.
    var obj = JSON.parse('{'name':'이백','age':20,'add':'사천'}').
    obj.name 값이 "이백"입니다.
     
    4、JSON.stringify()
    JSON은 일반적으로 서버와 데이터를 교환하는 데 사용된다.
    서버에 데이터를 보낼 때 일반적으로 문자열입니다.
    우리는 JSON을 사용할 수 있다.stringify() 메서드는 JavaScript 객체를 문자열로 변환합니다.
    예를 들어 다음과 같은 데이터를 서버에 전송했습니다.
    var obj = {"name": "이백", "age": 20, "add": "사천"}
    우리는 JSON을 사용합니다.stringify() 메서드는 위의 데이터를 문자열로 변환하여 처리합니다.
    var myJSON = JSON.stringify(obj);
    myJSON은 문자열입니다.
    myJSON을 서버로 보낼 수 있습니다.
    2. 매개 변수를 받아들이는 방식
  • @requestBody 매개 변수를 수락합니다.

  • 콘텐츠-type은 응용 프로그램/json 또는 응용 프로그램/xml 등으로 기본 응용 프로그램/x-www-form-urlcoded 인코딩이 아닙니다.
    @RequestBody에서 받은 문자열은 Json 대상이 아니라 Json 대상의 문자열입니다.그러나 aax 요청은 종종 Json의 대상을 전달하는데 나중에 JSON을 사용하는 것을 발견했다.stringify (데이터) 방식으로 대상을 문자열로 만들 수 있습니다.또한ajax가 요청할 때도 데이터Type: "json", 콘텐츠Type: "응용 프로그램/json"을 지정하면 한 대상이나List를 자바로 쉽게 전송할 수 있습니다. @RequestBody를 사용하면 대상이나List를 귀속할 수 있습니다.
    예: ajax 요청
     
    Controller 수신:
     
    2. HttpServletRequest에서 매개변수를 적용합니다.
    콘텐츠-type은 응용 프로그램/x-www-form-urlcoded 인코딩의 내용입니다.
    웹 서버에서 http 요청을 받았습니다. 요청마다 HttpServletRequest와 HttpServletResponse 대상을 만들고 클라이언트에게 데이터를 보내서 HttpServletResponse를 찾고 클라이언트에서 데이터를 가져와서 HttpServletRequest를 찾습니다.
    HttpServlet Request 대상은 클라이언트의 요청을 대표합니다. 클라이언트가 HTTP 프로토콜을 통해 서버에 접근할 때 HTTP 요청 헤더의 모든 정보는 이 대상에 봉인됩니다. 개발자는 이 대상을 통해 고객의 정보를 얻을 수 있습니다.
    주요 기능: 매개변수 해결, 쿠키 읽기, http 요청 필드, 파일 업로드
    @RequestMapping(value = "/getDate")
    
    @ResponseBody
    
    public String getDate(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse) {
    
        String string = httpServletRequest.getParameter("name");
    
        return "html";
    
    }

     
    2.1 속성으로 받아들일 수도 있다
    @RequestMapping(value = "/getDate")
    
    @ResponseBody
    
    public String getDate(String name) {
    
        String string = httpServletRequest.getParameter("name");
    
        return "html";
    
    }

     
    2.2 @RequestParam에서도 사용 가능
    @RequestMapping(value = "/getDate")
    
    @ResponseBody
    
    public String getDate(@RequestParam(value="name") String userName) {
    
    System.out.print(userName);
    
        return "html";
    
    }
    
    

    현재 데스크톱 인터페이스에서 GET 또는 POST 방식으로 데이터를 제출할 때 데이터 인코딩 형식은 요청 헤더의 ContentType에 의해 지정됩니다.다음과 같은 몇 가지 상황으로 나뉜다.응용 프로그램/x-www-form-urlencoded, 이 경우 데이터 @RequestParam, @ModelAttribute, HttpServletRequest는 처리할 수 있고 @RequestBody도 처리할 수 있습니다.2. multipart/form-data, @RequestBody에서 이 형식의 데이터를 처리할 수 없습니다.(form 폼에 파일이 업로드되었을 때, 반드시 enctype 속성 값을 multipart/form-data로 지정해야 합니다. 이것은 이진 흐름의 형식으로 파일을 전송한다는 뜻입니다.)3. application/json, application/xml 등 형식의 데이터는 @RequestBody로 처리해야 합니다.
     
    3. @PathVariable는 URL의 매개 변수를 받습니다
    @RestController
    
    public class HelloController {
    
    @RequestMapping(value="/hello/{id}",method= RequestMethod.GET)
    
    public String sayHello(@PathVariable("id") Integer id){
    
    return "id:"+id;
    
    }

    미완속~~~~~~~~~

    좋은 웹페이지 즐겨찾기