Sangwon Coding

Spring Boot - CRUD 인터페이스 정의와 ResponseBody 공통부 작성 본문

Spring/Spring Boot (어드민 페이지)

Spring Boot - CRUD 인터페이스 정의와 ResponseBody 공통부 작성

SW1 2019. 12. 23. 20:34

GetController.java

package com.example.study.controller;

import com.example.study.model.SearchParam;
import com.example.study.model.network.Header;
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=study@gamil.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}
        return searchParam;
    }

    @GetMapping("/header")
    public Header getHeader(){

        // {"resultCode : "OK", "description" : "OK"}
        return Header.builder().resultCode("OK").description("OK").build();
    }
}

 

 

 

UserApiController.java

package com.example.study.controller.api;

import com.example.study.ifs.CrudInterface;
import com.example.study.model.network.Header;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("/api/user")
public class UserApiController implements CrudInterface {


    @Override
    @PostMapping("")    // /api/user
    public Header create() {
        return null;
    }

    @Override
    @GetMapping("{id}")    // /api/user/{id}
    public Header read(@PathVariable(name = "id") Long id) {
        return null;
    }

    @Override
    @PutMapping("") // /api/user
    public Header update() {
        return null;
    }

    @Override
    @DeleteMapping("{id}")  // /api/user/{id}
    public Header delete(@PathVariable Long id) {
        return null;
    }
}

 

CrudInterface.java (인터페이스)

package com.example.study.ifs;

import com.example.study.model.network.Header;

public interface CrudInterface {

    Header create();    // todo request object 추가

    Header read(Long id);

    Header update();

    Header delete(Long id);
}
Comments