Spring Controller 자동생성

올로시아·2023년 10월 21일
0

코드 한땀

목록 보기
15/16

지난 시간에는 DB 테이블 컬럼정보를 이용한 Kotlin Entity 조각코드 자동생성에 대해 말씀드렸습니다.

오늘은 Spring Controller 템플릿 코드를 생성하는 기능을 소개해드립니다.

코드 한땀 서비스는 기본적으로 DB 테이블 Snake case 컬럼 기준으로, Camel case 변수를 생성하게 되는데요.

초기값 입력에 관해서는 이전 게시물 확인을 부탁드립니다.

그럼 제공하는 옵션에 대해 간단히 말씀드립니다.

Spring Controller 생성 옵션

  • kotlin : 체크하면 Kotlin Spring Controller 코드를 생성합니다.
  • data-type : 전달되는 변수들의 타입을 지정합니다.
  • parameter : Controller 에 전달되는 정보를 받는 방법을 선택합니다.
  • return : 메소드의 리턴타입을 선택합니다.
  • nullable : Kotlin 변수가 null 값을 가질 수 있는지 여부를 명시적으로 표시합니다.
  • doc : DOC 주석을 넣어줍니다.
  • swagger : Swagger 에서 사용되는 어노테이션을 추가해줍니다.
  • vertical-align : 변수들을 세로로 정렬합니다.

parameter 옵션별 생성 예시

Request

@PostMapping("/olosia-com")
public ResponseEntity handleOlosiaCom(HttpServletRequest request) {
	String seq    = request.getParameter("seq"   );
	String userId = request.getParameter("userId");OlosiaCom olosiaCom = new OlosiaCom();
	olosiaCom.setSeq   (seq   );
	olosiaCom.setUserId(userId);return ResponseEntity.ok(olosiaCom);
}

RequestBody

@PostMapping("/olosia-com")
public ResponseEntity handleOlosiaCom(@Valid @RequestBody OlosiaCom olosiaCom, BindingResult bindingResult) {
	if (bindingResult.hasErrors()) {
		throw new InvalidRequestException(bindingResult);
	}
	Integer seq    = olosiaCom.getSeq   ();
	String  userId = olosiaCom.getUserId();return ResponseEntity.ok(olosiaCom);
}

ModelAttribute

@PostMapping("/olosia-com")
public ResponseEntity handleOlosiaCom(@Valid OlosiaCom olosiaCom, BindingResult bindingResult) {
	if (bindingResult.hasErrors()) {
		throw new InvalidRequestException(bindingResult);
	}
	Integer seq    = olosiaCom.getSeq   ();
	String  userId = olosiaCom.getUserId();return ResponseEntity.ok(olosiaCom);
}

Map

@PostMapping("/olosia-com")
public ResponseEntity handleOlosiaCom(@RequestParam Map<String, String> param) {
	String seq    = param.get("seq"   );
	String userId = param.get("userId");OlosiaCom olosiaCom = new OlosiaCom();
	olosiaCom.setSeq   (seq   );
	olosiaCom.setUserId(userId);return ResponseEntity.ok(olosiaCom);
}

RequestParam

@PostMapping("/olosia-com")
public ResponseEntity handleOlosiaCom(
		@RequestParam(value = "seq"   , required = true) Integer seq   , 
		@RequestParam(value = "userId", required = true) String  userId
	) {OlosiaCom olosiaCom = new OlosiaCom();
	olosiaCom.setSeq   (seq   );
	olosiaCom.setUserId(userId);return ResponseEntity.ok(olosiaCom);
}

PathVariable

@PostMapping("/olosia-com/{seq}/{userId}")
public ResponseEntity handleOlosiaCom(
		@PathVariable("seq"   ) Integer seq   , 
		@PathVariable("userId") String  userId
	) {OlosiaCom olosiaCom = new OlosiaCom();
	olosiaCom.setSeq   (seq   );
	olosiaCom.setUserId(userId);return ResponseEntity.ok(olosiaCom);
}

오늘은 코드 한땀에서 제공하는 Spring Controller 조각코드 생성기능에 대해 간단히 말씀드렸습니다.

혹시 이용하시면서 필요한 기능 있으시면 댓글 부탁드립니다.

감사합니다.

올로시아 코드 한땀 서비스 바로가기

profile
실패하는게 두려운게 아니라, 노력하지 않은게 두렵다. [마이클 조던]

0개의 댓글