Browse Source

Migrating to DTOs

main
JonesWVU 4 years ago
parent
commit
c3d6c72935
  1. 5
      pom.xml
  2. 11
      src/main/java/com/singlestone/contacts/controller/ContactController.java
  3. 2
      src/main/java/com/singlestone/contacts/model/Contact.java
  4. 6
      src/main/java/com/singlestone/contacts/model/Phone.java
  5. 3
      src/main/resources/application.properties

5
pom.xml

@ -40,6 +40,11 @@
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.modelmapper</groupId>
<artifactId>modelmapper</artifactId>
<version>2.4.5</version>
</dependency>
</dependencies>
<build>

11
src/main/java/com/singlestone/contacts/controller/ContactController.java

@ -3,8 +3,11 @@ package com.singlestone.contacts.controller;
import com.singlestone.contacts.model.CallListEntry;
import com.singlestone.contacts.model.Contact;
import com.singlestone.contacts.model.Phone;
import com.singlestone.contacts.model.dto.ContactDTO;
import com.singlestone.contacts.repository.ContactRepository;
import com.singlestone.contacts.repository.PhoneRepository;
import com.singlestone.contacts.service.ContactService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.http.HttpStatus;
@ -19,15 +22,15 @@ import java.util.Optional;
public class ContactController {
@Autowired
private ContactRepository contactRepository;
private ContactService contactService;
@Autowired
private PhoneRepository phoneRepository;
//Get All Contacts
@GetMapping("/contacts")
public List<Contact> getAllContacts() {
return contactRepository.findAll();
public List<ContactDTO> getAllContacts() {
return contactService.getAllContacts();
}
//Create a new contact
@ -76,4 +79,4 @@ public class ContactController {
Sort sortByFirst = Sort.by("contact.name.first").ascending();
return phoneRepository.findByType(Phone.Type.home, sortByLast.and(sortByFirst));
}
}
}

2
src/main/java/com/singlestone/contacts/model/Contact.java

@ -11,7 +11,7 @@ public class Contact {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id")
private Long id;
private long id;
@Embedded
private Name name;

6
src/main/java/com/singlestone/contacts/model/Phone.java

@ -61,8 +61,8 @@ public class Phone {
}
public enum Type {
home,
work,
mobile
HOME,
WORK,
MOBILE
}
}

3
src/main/resources/application.properties

@ -9,5 +9,6 @@ spring.jpa.show-sql=true
spring.datasource.url=jdbc:h2:mem:contactsdb
spring.data.jpa.repositories.bootstrap-mode=default
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.defer-datasource-initialization=true
logging.level.org.hibernate.type=trace
server.error.include-message=always
server.error.include-message=always

Loading…
Cancel
Save