Пытаюсь настроить роутинг в Gateway в properties прописываю адрес и куда перенаправлять, не могу понять логику работы.
server:
port: 8081
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: servicetest
uri: http://localhost:8080/
predicates:
- Path=/services/**
- id: service-student
uri: http://localhost:8082/
predicates:
- Path=/**
ServiceTest
spring.application.name=ServiceTest
server.port=8080
@RestController public class TestController {
@GetMapping("/hello")
public String hello(){
return "Controller is work from " + this.getClass().getName().toString();
}
}
service-student
spring.datasource.url=jdbc:postgresql://localhost:5432/spring
spring.datasource.username=postgres
spring.datasource.password=root
spring.jpa.generate-ddl=true
spring.jpa.properties.hibernate.jdbc.lob.non_contextual_creation=true
server.port=8082
spring.application.name=service-student
eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka
@Slf4j
@RestController
@RequestMapping("/")
public class TeacherController {
@Autowired
TeacherRepository teacherRepository;
@GetMapping("/teachers")
public ResponseEntity<List<Teacher>> findAllTeachers(){
List<Teacher> groups = teacherRepository.findAll();
if(groups.isEmpty()){
return new ResponseEntity<>(groups, HttpStatus.NO_CONTENT);
}
return new ResponseEntity<>(groups,HttpStatus.OK);
}
При доступе через http://localhost:8081/teachers
, все ок, возвращается JSON с нужного сервиса(id service-student). А вот если делать Path=/services/**
и пробовать достучаться http://localhost:8081/services/hello
доступа нет. Как правильно создать конфиг?
Вообщем, если имеем два запроса
http://localhost:8081/teachers
http://localhost:8081/services/hello
И два сервиса, соответвенно
http://localhost:8082/teachers
http://localhost:8080/hello
То настройка будет выглядеть вот таким образом
server:
port: 8081
eureka:
client:
serviceUrl:
defaultZone: http://localhost:8761/eureka
spring:
application:
name: gateway
cloud:
gateway:
discovery:
locator:
enabled: true
routes:
- id: servicetest
uri: http://localhost:8080/
predicates:
- Path=/services/{segment}
filters:
- SetPath=/{segment}
- id: service-student
uri: http://localhost:8082/
predicates:
- Path=/**
Хитрость в подмене пути через фильтр SetPath
Или можно не менять настройку, но тогда изменить маппинг в сервисе, добавив на класс аннотацию @RequestMapping("/services")
Столкнулся с задачей: вывести на экран плавающий виджет, чтобы его можно было перемещать, взаимодействовать с нимВиджет НЕ для рабочего стола,...
Почему-то не нашел нормальной информации в интернете и погуглил по темам на стаковерфлоу, но так и не нашел в чем отличие for и for each в Java? Понятно...
Как сделать JProgressBar чтобы он работал на кнопку Jbutton и заканчивал работу после того как прогресс дошел до 100%?
Необходимо чтобы не весь список сразу отображался, а по очереди с 0 до listsize(), если пользователь свайпнул