django 프로젝트를 생성할 때, 처음에 프로젝트 경로가 뭔가 이상한 게 걸렸습니다. 깔끔하게 정리하기 위해서, startproject 명령어를 찾다 보니, 이 문서를 찾게 되었습니다. 간단하게 해당 문서를 보면서 이해해 보도록 하겠습니다. 먼저 명령어가 생각보다 꽤 길기 때문에, ps1 파일로 자동화를 시켜 보겠습니다. 반복되는 작업은 귀찮거든요. django_ex 폴더에다가 auto.ps1을 저장하겠습니다. 이 스크립트를 보면, 가상 환경을 생성하고, 활성화를 시킵니다. 다음에 가상환경에서 django를 깔고, test 디렉토리를 만듭니다. 다음에, test로 이동한 다음에, django-admin startproject 명령어를 실행시킨 다음에 가상 환경을 deactivate 합니다. Auto 스..
웹 검색 결과
토이 프로젝트에서 post /book api가 있었습니다. 책 하나를 추가하는 것이였습니다. 그런데, 책을 여러 개 한꺼번에 추가하는 요청도 들어올 수 있을 겁니다. 그런 api를 하나 추가해 보겠습니다. 혹시나, mybatis의 mapper, mapper interface 등에 익숙하시지 않으시다면, mybatis generator로 자동으로 매퍼 interface와 매퍼 xml 파일을 만들어 주는 방법을 익히셔서 셋팅해 두시는 것도 괜찮습니다. 이에 대한 글은 여기에 있어요. bookService 단에서 addBook이라는 메소드를 추가하겠습니다. 이것은 Book들에 대한 정보들을 받아 오면, 이들을 db에 넣는 역할을 하게 됩니다. 그러면, bookMapper에 List를 받는 insertListO..
안녕하세요. 이번 시간에는 스프링 시큐리티에서 자주 보게 될 antPathMatcher에 대해 간단하게 알아봅시다. 이 글에서 반영된 내역들은 모두 다 제 깃 레포에 올라가 있습니다. 프로젝트 구조는 위와 같습니다. 여기서 바꿔야 할 부분을 천천히 보도록 하겠습니다. 먼저, 인증 방식을 프로퍼티에서 설정하지 않겠습니다. 대신에, securityConfig 클래스에서 configureGlobal 메서드로 설정하도록 하겠습니다. 그러니, application.properties의 내용을 아래와 같이 바꾸겠습니다. 인증 정보를 모두 삭제한 모습입니다. 다음에 컨트롤러에 GET /user를 받는 것을 하나 추가하겠습니다. 이 링크로는 모든 유저가 접근할 수 있도록 하겠습니다. 이것은 초기화 함수인 configu..
이번 시간에는 preAuthorized에 대해서 간단하게 알아봅시다. 도서관 토이 프로젝트 중에서, 인증 처리를 구현해야 하는 부분이 있었습니다. 그리고, 특정 권한을 가져야 api를 수행하게끔 하는 기능도 있었습니다. 스프링 시큐리티는 익숙하지 않아서, 테스트용 프로젝트를 하나 더 만든 다음에, 기능을 나누어서 구현하게 되었습니다. 해당 부분에 대해서는 이 레포에서 천천히 다뤄보도록 하겠습니다. 테스트용 프로젝트의 flow입니다. 인증 처리를 구현하고, 인가 처리를 하고, 그에 따라서 api에 접근할 수 있게 할 계획입니다. 한꺼번에 하기에는 양이 너무 많으니, 이번 시간에는 인가 부분만 해 보도록 하겠습니다. 인증하고 인가에 대한 것은 이 글에서 언급을 했어요. 이 글에서 언급할 것은 preAutho..
book 조회 api가, borrow가 된 책, 그렇지 않은 책도 보여줘야 한다고 판단하였습니다. 그래서, Query string이 borrowFlag가 추가되었는데요. 백단에서 어떻게 처리를 해야 할까요? 일단, Controller, Service는 인자 하나를 더 받게 바꿔야 할 거고, mapper 인터페이스에서 selectAll 부분도 바꿔야 할 겁니다. 그 전에, 제가 무엇을 해야 할 지 부터 짚고 넘어가 보겠습니다. 일단, bookClass, bookName으로 검색하는 것은 있으니까, 누군가 책을 빌려갔는지 여부를 조회 api의 쿼리 파라미터로 추가해야 합니다. 책을 빌렸는지, 안 빌렸는지 여부는, 내가 책을 빌리려고 할 때, 어떤 책을 빌릴 수 있는 지 알기 위해 필요합니다. 그래서, bor..
최근댓글