Back End
-
[Spring] Controller 에서 가변 json body 받기Back End/Spring Framework 2022. 5. 21. 21:33
아래와 같이 Map 으로 json body 를 동적으로 받을 수 있다. @RestController public class TestController { @PostMapping(path = "/map") public String mapRequest(@RequestBody HashMap param){ System.out.println("param : " + param); return param.toString(); } } 필자는 Request Payload 에는 Data 가 담겨있는데, 컨트롤러에서 자꾸 파라미터가 없다고 에러를 뱉어서 해당 에러를 수정 후, DTO 정의가 귀찮아서 테스트용으로 잠깐 사용했지만 위 내용을 가져온 레퍼런스에서는 확장가능한 유연한 규칙이 있는 가변 파라미터가 필요할 때 사용한다..
-
[Spring] Content type 'text/plain;charset=UTF-8' not supportedBack End/Spring Framework 2022. 5. 21. 21:25
원인 컨트롤러는 @RequestParam 과 @RequestBody 를 사용하여 json 으로 Request를 받고 있는데 클라이언트는 Ajax 요청 시 Request Header 에 'Content-Type': 'application/json' 을 담지 않아 스프링에서 'text/plain' 에 대한 핸들링 방법이 정의되지 않아 발생한 에러 해결법 클라이언트에서 Request Header 에 'Content-Type': 'application/json' 을 담아준다.
-
[PHP] Mac 에서 PHP Composer 설치 및 커맨드 전역설정하기Back End/etc 2022. 5. 21. 21:14
아래의 커맨드를 입력하면 터미널의 현재경로에 설치된다. # 설치파일 설치 sudo php -r "copy ( 'https://getcomposer.org/installer', 'composer-setup.php');" # 설치파일 실행 php composer-setup.php # 설치파일 삭제 php -r "unlink ( 'composer-setup.php');" 아래의 커맨드를 입력하여 composer 를 global 로 사용할 수 있게 한다. sudo mv composer.phar /usr/local/bin/composer
-
[Apache2] Homebrew Apache2(httpd) 설치 & 가상호스트 설정 & 프로젝트폴더 Apache 서버로 구동시키기Back End/etc 2022. 5. 21. 21:13
이 글은 php 로 구성된 프로젝트를 Apache 서버로 실행하고 가상호스팅을 하는 과정을 담았습니다. Homebrew 로 설치하면 좋은점 Mac 내장 Apache 를 사용하지 않고 Homebrew 로 httpd 를 사용하면 brew services list 등으로 서비스의 상태를 관리하기가 쉽다. 1. 내장 Apache 중지 & Background 자동 로드 제거 MacOS 에서 Deamon 관리하기 sudo apachectl stop sudo launchctl unload -w /System/Library/LaunchDaemons/org.apache.httpd.plist 2>/dev/null 2. Homebrew 로 Apache 설치 brew install httpd 설치경로를 친절히 알려준다. 3...
-
[AWS] EC2 에서 개인 PC(Local)로 파일 전송Back End/AWS 2022. 5. 5. 19:36
EC2 -> Local scp -i [local에서 key.pem경로] [유저이름(linux는 보통 ec2-user, ubuntu는 ubuntu@ip주소]:[인스턴스에서 옮길 파일 경로] [다운로드받을 PC의 경로] ex) scp -i ~/.ssh/mykey.pem ubuntu@12.34.567.200:~/db-agent/log.zip ~/Downloads Local -> EC2 scp -i [local에서 key.pem경로] [로컬에서 업로드할 경로] [유저@인스턴스IP]:[인스턴스로 다운받을 경로]
-
[AWS] Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.116.227), connection timed out 해결법Back End/AWS 2022. 4. 29. 14:59
Failed to fetch http://eu-west-1.ec2.archive.ubuntu.com/ubuntu/pool/universe/a/autogen/libopts25_5.18.12-4_amd64.deb Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.116.227), connection timed out Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.229.225.193), connection timed out Could not connect to eu-west-1.ec2.archive.ubuntu.com:80 (54.246.214.20), connection time..
-
[Spring Framework] Spring Framework 에서 컴포넌트 스캔 (feat. Spring Boot)Back End/Spring Framework 2022. 4. 16. 17:18
컴포넌트 스캔방식으로 동작하여 빈을 IoC 컨테이너에 차곡차곡 쌓아두는건 알고 있었지만 Spring Boot 에서 컴포넌트 스캔을 직접 설정해본적이 없다. 그래서 Spring 은 @Component 라는 어노테이션이 있으면 내부적으로 자동처리해주는 줄 알았다. 하지만 그렇지 않다. Spring Boot 에서의 컴포넌트 스캔 Boot 에서는 @SpringBootApplication 이라는 어노테이션이 달린 내장톰캣을 실행하는 main 메서드를 담고 있는 클래스가 있는데 @SpringBootApplication 의 구현코드를 보면 @ComponentScan 을 달고 있는 것이 보인다. 그래서 Boot 는 자동적으로 컴포넌트 스캔을 진행해 왔던 것이다. Spring Framework 에서 컴포넌트 스캔 @Sp..