@RestController("/customers")
public class CustomerController {
@Autowired
private CustomerService customerService;
@RequestMapping(value = getAllCustomers, method = RequestMethod.GET)
@ResponseBody
public Collection<CustomerEntity> getAllCustomers() {
List<CustomerEntity> customerEntities = customerService.readAll();
for (CustomerEntity customerEntity : customerEntities) {
setLinks(customerEntity);
}
return customerEntities;
}
@RequestMapping(value = getCustomer, method = RequestMethod.GET)
@ResponseBody
public CustomerEntity getCustomerEntity(@PathVariable(value = "id") Integer id) {
CustomerEntity customerEntity = customerService.readById(id);
setLinks(customerEntity);
return customerEntity;
}
Данные методы возвращают на клиент ответ с Content-type json , но мне нужен HAL или HAL + JSON
Класс CustomerEntity :
@Entity
@Table(name = "customer")
@JsonIdentityInfo(
generator = ObjectIdGenerators.PropertyGenerator.class,
property = "idCustomer",scope = CustomerEntity.class)
@JsonIgnoreProperties(ignoreUnknown = true)
public class CustomerEntity extends ResourceSupport implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_customer", nullable = false)
private int idCustomer;
@Column(name = "first_name", nullable = true, length = 45)
private String firstName;
@Column(name = "last_name", nullable = true, length = 45)
private String lastName;
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<CreditCardEntity> creditCards = new ArrayList<CreditCardEntity>();
@OneToMany(mappedBy = "customer", cascade = CascadeType.ALL)
@LazyCollection(LazyCollectionOption.FALSE)
private List<OrderEntity> orders = new ArrayList<OrderEntity>(0);
public CustomerEntity(String firstName, String lastName, List<CreditCardEntity> creditCards,
List<OrderEntity> orders) {
this.firstName = firstName;
this.lastName = lastName;
this.creditCards = creditCards;
this.orders = orders;
}
public CustomerEntity() {
}
public CustomerEntity(String firstName, String lastName, CreditCardEntity creditCardEntity, OrderEntity
orderEntity) {
this.firstName = firstName;
this.lastName = lastName;
this.creditCards = new ArrayList<CreditCardEntity>();
this.creditCards.add(creditCardEntity);
this.orders = new ArrayList<OrderEntity>();
this.orders.add(orderEntity);
}
public int getIdCustomer() {
return idCustomer;
}
public void setIdCustomer(int idCustomer) {
this.idCustomer = idCustomer;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public List<CreditCardEntity> getCreditCards() {
return creditCards;
}
public void setCreditCards(List<CreditCardEntity> creditCards) {
this.creditCards = creditCards;
}
public List<OrderEntity> getOrders() {
return orders;
}
public void setOrders(List<OrderEntity> orders) {
this.orders = orders;
}
}
Виртуальный выделенный сервер (VDS) становится отличным выбором
Как оптимальнее проверить при сохранении - есть ли уже объект в базе данных? Подойдет ли код:
Начал изучать Java и наткнулся на то, что не могу редактировать некоторые классы в Android StudioПытаюсь расковырять некоторые проекты с гитхаба
Пользуюсь этой либой для in-app purchasing Но есть ошибка, пишет "Необходимо войти в аккаунт Google"Приложения ещё нет в Play Market'e