#java #spring #spring-boot #rest
Вопрос:
Контролер отдела
@RestController
public class DepartmentController {
@Autowired
DepartmentControllerConsumer departmentService;
@GetMapping("/departments")
public ResponseEntity<List<DepartmentResponse>> getAllDepartments() {
ResponseEntity<List<DepartmentResponse>> departments = departmentService.getAllDepartmentsUsingClient();
return departments;
}
}
отделконтроллерпотребитель
import reactor.core.publisher.Flux;
@Service
public class DepartmentControllerConsumer {
public ResponseEntity<List<DepartmentResponse>> getAllDepartmentsUsingClient() {
List<DepartmentResponse>list=new ArrayList<>();
WebClient client =WebClient.create("http://localhost:8080/restservice/api/");
System.out.println(client);
Flux<DepartmentResponse> value = client.get().uri("departments").accept(MediaType.APPLICATION_JSON).retrieve()
.bodyToFlux(DepartmentResponse.class);
list=value.toStream().collect(Collectors.toList());
System.out.println(value.toStream().collect(Collectors.toList()));
return new ResponseEntity<List<DepartmentResponse>>(list, HttpStatus.OK);
}
}
Выше был контроллер и классы обслуживания, имеющие одну конечную точку.При вызове его с почты человек, получающий 404, даже указал правильный URL-адрес
Комментарии:
1. Где вы определили
/restservice/api/
?2. Это еще одно приложение для загрузки spring в моем локальном, просто вызывающее его с помощью webclient из этого загрузочного приложения
3. Sicne это GET API, вы только что попробовали напрямую в браузере или в postman ? 404 приходит, когда мы используем неправильные URI Пожалуйста, проверьте, работает ли приведенный ниже URL-адрес в любом браузере или локальном хосте почтальона:8080/отделы
4. Проблема связана со структурой пакета проекта, проблема решена путем сохранения классов в правильном пакете, спасибо за поддержку.