Chris940915 / geo_benchmark

0 stars 0 forks source link

1/5 #12

Open Chris940915 opened 3 years ago

Chris940915 commented 3 years ago

@RequestBody

@Valid

@Data

@RestController

@Controller + @ResponseBody의 축약형. REST API controller를 선언할 때, 많이 사용. @ResponseBody에서 그렇듯, 리턴 값을 view resolver로 매핑하지않고 @HttpMessageConverter로 매핑.

@NotEmpty 필수값

lombok

@GetMapping, @RequestMapping

Spring boot이 동적으로 url mapping 을 어떻게 하는지 궁금해서 찾아보던 중 RequestMapping을 알게되었다.

그동안 자연스럽게 사용한 @GetMapping 은 @RequestMapping(method = RequestMethod.GET)의 축약형. annotation만 보고 무슨 메서드 요청인지 바로 알아볼 수 있게 만든다.

@RequestMapping은 url당 하나의 컨트롤러가 매핑되던 다른 핸들러 매핑과 달리 메서드 단위까지 세분화하여 적용할 수 있음. (이게 무슨 말?) url 뿐만 아니라 파라미터, 헤더 등 넓은 범위에 적용 가능.

내 목표는 프로젝트에서 여러가지 화면을 동적으로 매핑 해주는것으로 RequestMapping에 주소 경로 설정할때 {id값}으로 설정하고, (@PathVariable("id값") 받고싶은 형태 변수명 )을 입력해주면 끝.

@Controller
public class MainController{

    @RequestMApping(value = "/main/{urlId}", method = RequestMethod.GET)
    public ModelAndView intro(@PathVariable("urlId") string urlid){
        return urlId; 
    }
}
Chris940915 commented 3 years ago

Django

Paginator

게시판과 같은 목록이 주어져있을 때, 페이지 당 몇 개의 글을 보여줄지 지정할 수 있도록 도와주는 모듈.


from django.core.paginator import Paginator

def board_list(request):
    boards_all = Board.objects.all().order_by('-id')
    page = int(request.GET.get('p', 1))     # 없으면 1로 지정. 
    paginator = Paginator(boards_all, 5)  # 한 페이지 당 몇개씩 보여줄 지 결정
    boards = paginator.get_page(page)
Chris940915 commented 3 years ago

ResponseEntity

https://steemit.com/kr-dev/@igna84/spring-boot-responseentity

Chris940915 commented 3 years ago

Java spring boot 에서 json 다루기.

Chris940915 commented 3 years ago

DDD

https://medium.com/react-native-seoul/%EB%8F%84%EB%A9%94%EC%9D%B8-%EC%A3%BC%EB%8F%84-%EC%84%A4%EA%B3%84-domain-driven-design-in-real-project-1-%EB%8F%84%EB%A9%94%EC%9D%B8-83a5e31c5e45

DTO

https://velog.io/@aidenshin/DTO%EC%97%90-%EA%B4%80%ED%95%9C-%EA%B3%A0%EC%B0%B0

Static, inner

https://velog.io/@agugu95/%EC%99%9C-Inner-class%EC%97%90-Static%EC%9D%84-%EB%B6%99%EC%9D%B4%EB%8A%94%EA%B1%B0%EC%A7%80