Chapter 1 - Spring Boot

11454 단어 fastcampusfastcampus

Spring Boot를 하기전... 설치

intellij 설치 방법

JDK 12 설치

Get & Post방식

Get 방식

  • localhost 주소를 입력 후 ?를 통해 id, password, page... 등 입력 값을 받아주면 된다.
package com.example.study.controller;

import com.example.study.model.SearchParam;
import com.example.study.model.SearchParam;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api") // Localhost:8080/api

public class GetController {
    @RequestMapping(method = RequestMethod.GET, path = "/getMethod") //Localhost:8080/api/getMethod
    public String getRequest(){
        return "Hi getMethod";
    }
    @GetMapping("/getParameter") // Localhost:8080/api/getParameter?id=1234&password=abcd
    public String getParameter(@RequestParam String id, @RequestParam(name = "password") String pwd){
        String password = "bbbb";
        System.out.println("id : " +id);
        System.out.println("pwd : " + pwd);

        return id+pwd;
    }

    // Localhost:8080/api/multiParameter?account=abcd&[email protected]&page=10 --길어진다면?
    @GetMapping("/getMultiParameter")
    public SearchParam getMultiParameter(SearchParam searchParam){

        System.out.println(searchParam.getAccount());
        System.out.println(searchParam.getEmail());
        System.out.println(searchParam.getPage());
        
        return searchParam; // searchParam으로 return 할시에 위에 같이 json형식으로 리턴 된다 --> {"account" : "", "email" : "", "page" :0}
    }
}

  • 주소가 겹치면 SpringBoot는 실행 되지 않는다.
  • @RequestMapping("/api)Localhost:8080/api로 매칭시켜 준다.
  • getRequest로 설정하고 같은 방법으로 @RequestMapping(어떤 방법으로(Method), 주소는(path)를 설정 시켜준다) api의 하위인 getMethod로 요청이 되면 getRequest로 들어오는 형식
  • GetMapping@RequestMapping과 다르게 Method를 지정하지 않고 주소만 지정해주어도 된다.
  • getParameter 값을 받아주기 위해 @ReauestParam이라는 annotation을 사용한다.
  • annotation이 길어지면 객체로 받아주어 읽어주면 된다.(SearchParam이라는 파일을 생성해,
    account, email, page...등 받아준다.


Post 방식

package com.example.study.controller;

import com.example.study.model.SearchParam;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api")
public class PostController {

    // HTML <Form>
    // ajax 검색
    // http post에 body -> data
    // json, xml, mutipart-form / test-plain

    @PostMapping(value = "/postMethod")
    public SearchParam postMethod(@RequestBody SearchParam searchParam){
        return searchParam;
    	}
    }
  • Get 방식과 동일
  • Post 방식에서 @RequestBody 를 사용하게 되면 Body의 text가 searchParam으로 들어가 json 방식으로 나타남

좋은 웹페이지 즐겨찾기