1. Customer Service 구성 - TheOpenCloudEngine/uEngine-cloud GitHub Wiki
기본적인 Application 생성법은 Application 생성과 사용에서 확인 할 수 있습니다.
- Metawork4 기반의 Application을 생성하여 줍니다.
(해당 예제에서는 ex-customer 라는 이름으로 작성하였습니다.)
/* Customer.java */
@Entity
public class Customer {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
private Long id;
private String firstName;
private String lastName;
protected Customer() {}
public Customer(String firstName, String lastName) {
this.firstName = firstName;
this.lastName = lastName;
}
public Long getId() {
return id;
}
public String getFirstName() {
return firstName;
}
public String getLastName() {
return lastName;
}
}
/* CustomerRepository.java */
public interface CustomerRepository extends PagingAndSortingRepository<Customer, Long> {
List<Customer> findByLastName(String lastName);
}
주문 엔티티인 Order.java 에 customer 를 하위 멤버 필드로 생성하고 @ManyToOne annotation 을 준다. 이때 DB상에 연결 foreign key 로 사용될 customerId 를 @JoinColumn annotation으로 선언해준다.
public class Order {
...
@ManyToOne @JoinColumn(name="customerId")
Customer customer;
public Customer getCustomer() {
return customer;
}
public void setCustomer(Customer customer) {
this.customer = customer;
}
}
- 고객을 등록한다:
$ http localhost:8080/customers firstName="jinyoung" lastName="jang" point=0
{
"_links": {
"customer": {
"href": "http://localhost:8080/customers/2"
},
"self": {
"href": "http://localhost:8080/customers/2"
}
},
"firstName": "jinyoung",
"lastName": "jang"
}
- 생성된 고객 URI 인 "href": "http://localhost:8080/customers/2" (links > self 에서 찾으면 된다) 를 파라미터 값으로 하여 주문을 등록한다:
- 해당 고객으로 TV 5대를 주문을 한다:
$ http localhost:8080/orders customer="http://localhost:8080/customers/2" item="http://localhost:8080/items/TV" qty=5
{
"_links": {
"customer": {
"href": "http://localhost:8080/orders/2/customer"
},
"item": {
"href": "http://localhost:8080/orders/2/item"
},
"order": {
"href": "http://localhost:8080/orders/2"
},
"self": {
"href": "http://localhost:8080/orders/2"
}
},
"qty": 5
}
- 주문건에 대한 URI 는 "http://localhost:8080/orders/2"로 발행되었고, 이후 배송상태 등을 조회할 때 이 주소를 통하여 추적 / 조회할 수 있다.