Spring 清理端点应允许通过curl命令
我在application.yml文件中禁用了清理端点,并将其标记为false以启用默认属性。我不应该通过curl命令访问它。 但仍然可以通过curl命令访问清理端点。这里少了什么吗Spring 清理端点应允许通过curl命令,spring,spring-boot,spring-boot-actuator,Spring,Spring Boot,Spring Boot Actuator,我在application.yml文件中禁用了清理端点,并将其标记为false以启用默认属性。我不应该通过curl命令访问它。 但仍然可以通过curl命令访问清理端点。这里少了什么吗 http://localhost:9001/app/cleanup/1000 management: security: enabled: false context-path: /app endp
http://localhost:9001/app/cleanup/1000
management:
security:
enabled: false
context-path: /app
endpoints:
web:
base-path: /app
exposure:
include: health, loggers, cleanup
enabled-by-default: false
endpoint:
cleanup:
enabled: false
@Component
@Slf4j
@Endpoint(id = "cleanup", enableByDefault = false)
@RequiredArgsConstructor
public class CleanuEndpoint {
@RequestMapping(produces = {
ActuatorMediaType.V1_JSON,
MediaType.APPLICATION_JSON_VALUE})
@ResponseBody
@ReadOperation
public Object updateId(@PathVariable Long Id) {
log.info("updateId() - END= cleanUp={}, id={}",cleanUp, id);
return delegate.invoke();
}
}
成功了。
我删除了@PathVariable并使用了@Selector。
现在,基于“management.web.exposure.include”值启用和禁用清理端点
谢谢大家
URL:- http://localhost:9001/app/cleanup/1000
@Component
@Slf4j
@Endpoint(id = "cleanup")
@RequiredArgsConstructor
public class CleanuEndpoint {
@ResponseBody
@ReadOperation
public Object updateId(@Selector Long Id) {
log.info("updateId() - END= cleanUp={}, id={}",cleanUp, id);
return delegate.invoke();
}