Notice
Recent Posts
Recent Comments
Link
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
Archives
Today
Total
관리 메뉴

Super Coding Addict

HTTP Method 본문

Spring Boot 웹개발

HTTP Method

밍응애 2021. 1. 20. 17:04

< Rest API >

* HTTP - GET Method

- 주소창에 파라미터가 노출됨

- 브라우저에서 주소에 대한 캐시가 이루어지므로 정보를 얻을 때 사용

 

- 실습

// 사용자로부터 접속을 받아주기 위해 주소 설정해야하고, 그런 주소들의 묶음을 모아두는 곳이 Controller

 

[ GetController ]

package com.example.study.controller;

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/getMultiParameter?account=abcd&email=study@gmail.com&page=10
    @GetMapping("/getMultiParameter")
    public SearchParam getMultiParameter(SearchParam searchParam){
        System.out.println(searchParam.getAccount());
        System.out.println(searchParam.getEmail());
        System.out.println(searchParam.getPage());

        // { "account" : "", "email" : "", "page" : 0} -- jSON 형태로
        return searchParam;
    }
}

--> @RestController

--> @RequestMapping : RequestMethod를 적어줘야 함

--> @GetMapping : Get방식 요청인 경우 사용하며 이때는 메서드방식 따로 써줄 필요 없음

--> @RequestParam : Get방식에서 들어오는 파라미터 값들을 받을 때 사용

===> 이 때, 들어오는 파라미터 이름과 메서드 안의 변수명이 같을 때는 @RequestParam(name = "password")와 같이 따로 지정을 해주면 구분하여 파라미터를 인식함

 

--> 들어오는 파라미터들이 많다면 매번 @RequestParam으로 파라미터들을 다 받아주기보다, 이처럼 객체를 생성하여 객체로 한번에 받을 수 있다

package com.example.study.model;

public class SearchParam {

    private String account;
    private String email;
    private int page;

    public String getAccount() {
        return account;
    }

    public void setAccount(String account) {
        this.account = account;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public int getPage() {
        return page;
    }

    public void setPage(int page) {
        this.page = page;
    }
}

 

// 기존에 servlet이나 Spring에서 개발할 때는 잭슨라이브러리를 직접 메이븐, 그래들을 통해 가져온 다음 변환시킨다든지... 하는 식이었지만, 요즘 http통신규격에서 jSON을 표준처럼 사용하기 때문에 Spring Boot에서는 기본적으로 잭슨라이브러리를 내장하고 있으므로 객체리턴을 하면 jSON으로 자동변환해 리턴함

 

다음과 같은 결과값이 웹페이지에 나타난다.

'Spring Boot 웹개발' 카테고리의 다른 글

스프링 웹 개발 기초  (0) 2021.01.31
빌드하고 실행하기  (0) 2021.01.30
라이브러리 살펴보기  (0) 2021.01.30
서버 개발자란?  (0) 2021.01.20
Intellij에서 Spring 프로젝트 생성하기  (0) 2021.01.20