03 Dec 2019
|
SpringBoot
만약
Circular view path [list]: would dispatch back to the current handler URL [/list] again.
와 같은 오류가 발생하면 build.gradle.kts
파일에
implementation("org.springframework.boot:spring-boot-starter-thymeleaf")
종속성 추가가 되어 있는 지를 체크해 볼 필요가 있습니다.
그리고 잊지 말고 gradle sync
를 해줘야 반영이 됩니다.
02 Dec 2019
|
SpringBoot
yaml 파일 생성
application.yaml
resources
디렉토리 아래에 application.yaml
파일을 생성하고 다음 내용을 입력합니다.
property:
snowdeer:
age: 40
name: snowdeer
address: Seoul
값 읽어오기
Controller 클래스에서 값을 바로 읽어들여도 상관없지만, 여기서는 Wrapping 클래스를 별도로 생성했습니다.
AppProperties.kt
import org.springframework.beans.factory.annotation.Value
import org.springframework.stereotype.Component
@Component
class AppProperties {
@Value("\${property.snowdeer.age}")
lateinit var age: Integer
@Value("\${property.snowdeer.name}")
lateinit var name: String
@Value("\${property.snowdeer.address}")
lateinit var address: String
}
HelloController.kt
import com.snowdeer.sample.board.AppProperties
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController
@RestController
class HelloController {
@Autowired
lateinit var appProperties: AppProperties
@GetMapping
fun hello(): String {
return "Hello ${appProperties.name}"
}
}
02 Dec 2019
|
React
Hello.html
<head>
<script src="https://fb.me/react-0.14.3.js"></script>
<script src="https://fb.me/react-dom-0.14.3.js"></script>
</head>
<body>
<div id="content">ccc</div>
<script>
var h1=React.createElement('h1', null, 'Hello, snowdeer')
ReactDOM.render(
h1,
document.getElementById('content')
)
</script>
</body>
01 Dec 2019
|
React
React 설치
brew
를 이용해서 설치하는 방법을 포스팅합니다.
brew 설치
$ xcode-select –install
$ ruby -e “$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)”
NodeJS 설치
brew install node
npm 업데이트
만약 npm
버전이 낮은 경우는 아래 명령어를 이용해서 최신 버전으로 업데이트할 수 있습니다.
npm install -g npm
yarn 설치
brew install yarn
create-react-app 설치
npm install -g create-react-app
테스트 프로젝트 생성
create-react-app snowdeerapp
실행
cd snowdeerapp
yarn start
그 이후 http://localhost:3000
에 접속해서 확인할 수 있습니다.
01 Dec 2019
|
용어
REST 사용방법
REST
는 웹 등에서 사용하는 통신 네트워크 아키텍처입니다. 웹은 전송 방식으로 HTTP
를 사용하며,
식별 방법으로는 URI
를 사용합니다. REST
는 HTTP
와 URI
의 단순하고 간결한 장점을 활용한 네트워크 아키텍처입니다.
REST
의 목적은 다음과 같습니다.
- 인터페이스의 범용성
- 개별 구성 요소의 독립적 배포
- 구성 요소의 확장성
- 중간적 구성 요소를 이용한 보안성, 응답 지연 감소, 레거시 시스템에 대한 캡슐화
일관된 인터페이스
인터페이스의 일관성에는 다음 요소가 있습니다.
- 자원 식별
- 메시지를 이용한 리소스 제어
- 자기 서술적 메시지
- HATEOAS(Hypermedia As The Engine Of Application State)
HATEOAS
는 클라이언트에 응답을 할 때 단순한 결과 데이터만 리턴하는 것이 아닌, URI 정보를 함께 포함해야 한다는 원칙입니다.
REST
의 제약 조건들을 지키면서 REST
아키텍처를 만드는 것을 RESTful
이라고 합니다.
URL과 URI
URL
은 리소스를 가져오는 위치이며, URI
는 리소스의 위치와 이름을 식별하는 표준입니다. 예를 들면 다음과 같습니다.
http://localhost:8080/book.pdf
URL
은 위와 같이 리소스의 위치를 표현합니다. 그리고 URI
는 아래와 같이 리소스의 이름과 위치를 식별합니다.
http://localhost:8080/api/books/100
URL
은 URI
의 하위 개념입니다.
URI 규격
URI
는 명사를 사용하며 동사 사용은 자제하는 것이 좋습니다. 만약 동사를 표현하고 싶을 때는 HTTP
메소드인
GET
, POST
, PUT
, DELETE
등으로 대체하는 것이 좋습니다.
URI
에서는 명사에 단수형보다는 복수형을 사용하는 것이 좋습니다.