Skip to content

Commit 380f6ae

Browse files
committed
Call User service directly from resource to simplify class structure
1 parent 603d4c2 commit 380f6ae

File tree

3 files changed

+15
-32
lines changed

3 files changed

+15
-32
lines changed

src/main/java/com/github/adamzink/springbootmysqldemo/facade/UserFacade.java

Lines changed: 0 additions & 27 deletions
This file was deleted.

src/main/java/com/github/adamzink/springbootmysqldemo/resource/UserResource.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package com.github.adamzink.springbootmysqldemo.resource;
22

3-
import com.github.adamzink.springbootmysqldemo.facade.UserFacade;
43
import com.github.adamzink.springbootmysqldemo.model.client.User;
54
import com.github.adamzink.springbootmysqldemo.model.client.UserRequest;
5+
import com.github.adamzink.springbootmysqldemo.service.UserService;
66
import org.springframework.beans.factory.annotation.Autowired;
77
import org.springframework.stereotype.Component;
88

@@ -14,13 +14,13 @@
1414
public class UserResource {
1515

1616
@Autowired
17-
UserFacade userFacade;
17+
UserService userService;
1818

1919
@POST
2020
@Consumes(MediaType.APPLICATION_JSON)
2121
@Produces(MediaType.APPLICATION_JSON)
2222
public User save(final UserRequest userRequest) {
23-
return userFacade.save(userRequest);
23+
return userService.save(userRequest);
2424
}
2525

2626
}

src/main/java/com/github/adamzink/springbootmysqldemo/service/UserService.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,32 @@
11
package com.github.adamzink.springbootmysqldemo.service;
22

3+
import com.github.adamzink.springbootmysqldemo.converter.UserConverter;
4+
import com.github.adamzink.springbootmysqldemo.model.client.User;
5+
import com.github.adamzink.springbootmysqldemo.model.client.UserRequest;
36
import com.github.adamzink.springbootmysqldemo.model.db.UserModel;
47
import com.github.adamzink.springbootmysqldemo.repository.UserRepository;
58
import org.springframework.beans.factory.annotation.Autowired;
69
import org.springframework.stereotype.Service;
10+
import org.springframework.transaction.annotation.Transactional;
711

812
import java.util.Date;
913

1014
@Service
15+
@Transactional
1116
public class UserService {
1217

18+
@Autowired
19+
UserConverter userConverter;
20+
1321
@Autowired
1422
UserRepository userRepository;
1523

16-
public UserModel save(final UserModel userModel) {
24+
public User save(final UserRequest userRequest) {
25+
UserModel userModel = userConverter.requestToModel(userRequest);
26+
1727
userModel.setAddTs(new Date());
1828

19-
return userRepository.save(userModel);
29+
return userConverter.modelToResponse(userRepository.save(userModel));
2030
}
2131

2232
}

0 commit comments

Comments
 (0)