Лучший способ создать класс контроллера в Java [закрыто]JAVA

Программисты JAVA общаются здесь
Anonymous
Лучший способ создать класс контроллера в Java [закрыто]

Сообщение Anonymous »

Пытаемся создать класс контроллера в Java. Создание класса контроллера Java включает в себя определение класса, аннотированного @RestController, и сопоставление конечных точек с использованием @RequestMapping, @PostMapping, @GetMapping и @DeleteMapping для обработки HTTP-запросов. Этот класс взаимодействует с уровнем обслуживания для управления сущностями.
package controller;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
// import .domain.Employee;
// import .service.EmployeeService;

import java.util.Set;

@RestController
@RequestMapping("/employee")
public class EmployeeController {

@Autowired
private EmployeeService employeeService;

@PostMapping("/create")
public Employee create(@RequestBody Employee student) {
return employeeService.create(student);
}

@GetMapping("/read/{employeeNumber}")
public Long read(@PathVariable String employeeNumber) {
return employeeService.read(Long.valueOf(employeeNumber));
}

@PostMapping("/update")
public Employee update(@RequestBody Employee student) {
return employeeService.update(student);
}

@DeleteMapping("/{id}")
public void delete(@PathVariable String id) {
employeeService.delete(id);
}

@GetMapping("/getAll")
public Set getAll() {
return employeeService.getAll();
}
}
@RestController
@RequestMapping("/students")
public class StudentController {
private final StudentFacadeService service;

@Autowired
public StudentController(StudentFacadeService service) {
this.service = service;
}

@GetMapping("/lastNamesByCountry/{countryId}")
public List getStudentLastNamesByCountry(@PathVariable String countryId) {
return service.getStudentLastNamesByCountry(countryId);
}
}

@TestMethodOrder(MethodOrderer.MethodName.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
class EmployeeControllerTest {

//server.servlet.context-path=/emp

@Autowired
private TestRestTemplate restTemplate;
private final String Base_URL = "http://localhost:8080/classtest/employee";
private static Employee employee;
private static Contact contact;
@BeforeAll
static void setup() {
contact = ContactFactory.buildContact("ram@gmail.com","0813798635", "0812345678");
employee = EmployeeFactory.buildEmployee(1, "ian", "ram",contact);
System.out.println(employee);

}
@Test
void a_create() {
String url = Base_URL+"/create";
System.out.println(url);
ResponseEntity postResponse =restTemplate.postForEntity(url,employee, Employee.class);
assertNotNull(postResponse);
assertNotNull(postResponse.getBody());

Employee studentSaved = postResponse.getBody();
assertEquals(employee.getEmployeeNumber(),studentSaved.getEmployeeNumber());
System.out.println("Successful");
}

@Test
void b_read() {
String url = Base_URL+"/read";
System.out.println(url);
ResponseEntity responseRead = restTemplate.getForEntity(url,Employee.class);
assertNotNull(responseRead);
assertNotNull(responseRead.getBody());
System.out.println("Read "+responseRead.getBody());
}

@Test
void c_update() {
String url = Base_URL+"/update";
Employee newEmployee = new Employee.Builder().copy(employee)
.setFirstName("Smith").build();
ResponseEntity updateResponse = restTemplate.postForEntity(url, newEmployee, Employee.class);
assertNotNull(updateResponse);
assertNotNull(updateResponse.getBody());
// assertEquals(student.getCourse(),updateResponse.getBody().getCourse());
System.out.println("Update: "+updateResponse.getBody());
}

@Test
void d_getAll() {
String url = Base_URL+"/getall";
System.out.println(url);
HttpHeaders headers = new HttpHeaders();
HttpEntity entity = new HttpEntity(null, headers);
ResponseEntity responseAll = restTemplate.exchange(url, HttpMethod.GET,entity, String.class);
System.out.println("Show All: "+"\n"

+responseAll.getBody());
}
}
@Service
public class EmployeeService implements IEmployeeService{

private ContactRepository contactRepository;
private EmployeeRepository employeeRepository;
@Autowired
EmployeeService(ContactRepository contactRepository, EmployeeRepository employeeRepository){
this.contactRepository = contactRepository;
this.employeeRepository = employeeRepository;
}
@Override
public Employee create(Employee employee) {
contactRepository.save(employee.getContact());
return employeeRepository.save(employee);
}

@Override
public Long read(Long id) {
return this.employeeRepository.findById(id).orElse(null).getEmployeeNumber();
}

@Override
public Employee update(Employee employee) {
contactRepository.save(employee.getContact());
return employeeRepository.save(employee);
}

@Override
public Set getAll() {
return employeeRepository.findAll().stream().collect(Collectors.toSet());
}
}@SpringBootTest
@TestMethodOrder(MethodOrderer.MethodName.class)
class EmployeeServiceTest {
@Autowired
private EmployeeService employeeService;
private static Employee emp1;
private static Contact con1;
private static Employee emp2;
private static Contact con2;

@BeforeAll

static void setup() {
con1 = ContactFactory.buildContact("ram@gmail.com","0813798635", "0812345678");
emp1 = EmployeeFactory.buildEmployee(1, "ian", "ram",con1);
assertNotNull(con1);
assertNotNull(emp1);
System.out.println(con1);
System.out.println(emp1);
con2 = ContactFactory.buildContact("williams@gmail.com","0783012347", "0217892350");
emp2 = EmployeeFactory.buildEmployee(2, "Dave", "williams",con2);
assertNotNull(con2);
assertNotNull(emp2);
System.out.println(con2);
System.out.println(emp2);

}

@Test
void a_create() {
Employee empCreated1 = employeeService.create(emp1);
assertNotNull(empCreated1);
System.out.println(empCreated1);
Employee empCreated2 = employeeService.create(emp2);
assertNotNull(empCreated2);
System.out.println(empCreated2);

}

@Test
void b_read() {
Long read = employeeService.read(emp1.getEmployeeNumber());
assertNotNull(read);
System.out.println(read);
}

@Test
void c_update() {
Employee newEmp = new Employee.Builder().copy(emp2).setFirstName("Dan").build();
Employee update = employeeService.update(newEmp);
assertNotNull(update);
System.out.println(update);
}

@Test
void d_getAll() {
System.out.println(employeeService.getAll());
}
}


Подробнее здесь: https://stackoverflow.com/questions/785 ... ss-in-java

Вернуться в «JAVA»