-
Spring Boot 로 만드는 Upload와 Download Rest API 예제-05Java/Spring 2018. 12. 17. 16:09
이번 글에서는 마지막 단계 RestController에 API를 생성하고 테스트 까지 하면서 파일 업로드 다운로드 예제를 마치도록 한다. 기존에 생성한 FileUploadController에 나머지 소스를 추가한다. 추가할 api request는 총 3개를 추가한다. (단일 파일 업로드, 다중 파일 업로드, 파일 다운로드 ) 1234567891011121314151617 @Autowired private FileUploadDownloadService service; @PostMapping("/uploadFile") public FileUploadResponse uploadFile(@RequestParam("file") MultipartFile file) { return null; } @PostMappin..
-
Spring Boot 로 만드는 Upload와 Download Rest API 예제-04Java/Spring 2018. 12. 17. 15:24
이번 글에서는 파일 업로드와 다운로드에 필요한 service 단을 완성해보려고 한다. 1) Service 생성 먼저 기본 패키지 그룹에 service 패키지를 생성하고 FileUploadDownloadService 라는 클래스를 생성한다. 123456789package com.pang.fileuploaddemo.service; import org.springframework.stereotype.Service; @Servicepublic class FileUploadDownloadService { } Colored by Color Scriptercs @Service Annotation 을 잊지말고 추가하자 다음으로 파일이 저장될 디렉토리를 설정하고 디렉토리를 생성하는 소스를 추가한다. Service가 실행..
-
Spring Boot 로 만드는 Upload와 Download Rest API 예제-03Java/Spring 2018. 12. 17. 14:55
이번 글부터는 Upload Download API를 본격적으로 작성해보려고 한다. 이번글에서는 파일이 업로드가 된 이후 response 할 class를 생성하고 파일을 업로드하고 다운로드할때 발생할 수 있는 Exception에 대한 예외처리를 위해 Custom Exception을 추가한다. 1) UploadResponse 클래스 추가 기본 패키지 그룹에 payload 패키지를 추가하고 FileUploadResponse 클래스를 생성한다. 파일명, 다운로드 uri, 파일의 mime-type , 파일 크기 총 4개의 필드를 추가하고 생성자와 getter setter를 추가한다. 1234567891011121314151617181920212223242526272829303132333435363738394041..
-
Spring Boot 로 만드는 Upload와 Download Rest API 예제-02Java/Spring 2018. 12. 17. 14:27
이번 글에서는 파일 업로드 다운로드를 위한 환경설정을 해보려고 한다. 1 ) 파일 업로드 다운로드를 진행하기 위해 src/main/resources/application.properties 파일에 파일 업로드 설정 값을 입력한다. 1234567891011121314151617## Multipart properties# Enable multipart uploadsspring.servlet.multipart.enabled=true # Max file size.spring.servlet.multipart.max-file-size=200MB # Max Request Sizespring.servlet.multipart.max-request-size=215MB ## File Storage Properties# Al..
-
Spring Boot 로 만드는 Upload와 Download Rest API 예제-01Java/Spring 2018. 12. 17. 13:50
파일 업로드와 다운로드는 웹서비스에서 빈번하게 필요시되는 기능이다. 파일 업로드와 다운로드를 스프링부트로 쉽게 적용 시킬수 있는 프로젝트를 만들어 보려고 한다. 단계별로 차근차근 진행 해보자. 1) Spring Boot 프로젝트 생성이번 글에서는 CLI 버전으로 생성하고 실행하는 방법 말고 본인이 편한 방법으로 해보았다. 먼저 Spring Boot 프로젝트 생성은 https://start.spring.io/ (Click) 에서 쉽게 생성할 수 있다. (1) Group에 본인의 Group 명을 입력하고 패키지 그룹이 입력한 형태로 생성된다.(2) Artifact에 프로젝트 명을 입력한다.(3) Dependencies에는 Web을 입력하고 검색된 Dependency를 선택한다. (4) [Generate Pr..
-
[백준 11050] - [수학] - 이항계수 1 (Java)알고리즘/수학 2018. 12. 14. 17:12
문제 링크 : https://www.acmicpc.net/problem/11050 이문제는 간단한 조합 문제이다. 입력받는 형식을 식으로 풀이하면 아래와 같이 나온다. 이 문제는 제일 간단한 문제이기때문에 그냥 각 수 별로 {n!, k!, (n-k)! } 팩토리얼 을 구한다음 계산하면 된다. 소스 1234567891011121314151617181920212223242526import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int K = sc.nextInt(); int a = getFactorial..
-
[백준 15954] - [카카오 코드 페스티벌 2018 예선] - 인형들 (JAVA)알고리즘/카카오 코드 페스티벌예선 2018 2018. 12. 4. 17:20
문제 링크 : https://www.acmicpc.net/problem/15954 이문제는 음 .. 문제를 이해하는데 어렵지는 않았다. 다만 문제를 제대로 읽지 않아 한번 틀렸다. 그러면서 시간을 30분 정도 더 버린거 같다. 알고리즘 문제는 대부분 이렇게 시간을 허비하는거 같다. 카카오프렌즈 스토어를 관리하는 브라이언은 어떠한 특정한 곳에 인형들을 배치하고자 하는데, 그곳에 인형들을 선택하는 방법은 다음과 같다:먼저 비슷한 인형이 가깝게 위치하도록 서로 다른 N개의 인형을 종류당 한 개씩 일렬로 배치한다.그 후, 선호하는 사람의 수의 표준편차가 최소가 되는, K개 이상의 연속된 위치에 있는 인형들을 선택하여 그들을 같은 곳에 배치한다.위의 방법으로 인형들을 선택했을 때, 선택된 인형들의 선호하는 사람의..
-
[백준 15953] - [카카오 코드 페스티벌 예선 2018] - 상금헌터 (JAVA)알고리즘/카카오 코드 페스티벌예선 2018 2018. 12. 4. 17:01
문제 링크 : https://www.acmicpc.net/problem/15953 내 실력이 어디까지인지 확인해보고자 카카오 코드 페스티벌 예선 문제를 풀었다. 아직은 카카오에 갈 실력이 안되나보다. 그나마 이 문제는 쉽다. 2017년 본선진출자 100명 중 상금 수여 21명순위 상금 인원 1등 500만 1 2등 300만 2 3등 200만 3 4등 50만 4 5등 30만 5 6등 10만 6 2018년 본선진출자 64명 중 상금 수여 31명 순위 상금 인원 1등 512만 1 2등 256만 2 3등 128만 4 4등 64만 8 5등 32만 16 이 문제를 풀기 위해서 위의 상금 정보를 기반으로 배열을 만들었다. public static int[] reward17 = {500, 300, 200, 50, 30,..