Ваш метод id()
может выдавать эти исключения, то есть они должны обрабатываться (где-то).
В вашем методе вызова вы не можете просто сказать:
public void callId() {
Interface.DeleteComment deleteComment = Feign.builder()
.client(new OkHttpClient())
.encoder(new JacksonEncoder())
.decoder(new JacksonDecoder())
.logger(new Slf4jLogger(Interface.DeleteComment.class))
.logLevel(Logger.Level.FULL)
.target(Interface.DeleteComment.class, "http://localhost:3000/comments/" + networkConfigurationProperties.id());
}
потому что вы не обрабатываете исключения.Вам нужно будет либо перехватить их:
public void callId() {
try{
Interface.DeleteComment deleteComment = Feign.builder()
.client(new OkHttpClient())
.encoder(new JacksonEncoder())
.decoder(new JacksonDecoder())
.logger(new Slf4jLogger(Interface.DeleteComment.class))
.logLevel(Logger.Level.FULL)
.target(Interface.DeleteComment.class, "http://localhost:3000/comments/" + networkConfigurationProperties.id());
} catch(Exception e) {
e.printStackTrace(); //or similar
}
}
, либо сообщить методам, вызывающим этот метод, о том, что они ожидают возможные исключения, распространяя их
public void callId() throws URISyntaxException,IOException {
Interface.DeleteComment deleteComment = Feign.builder()
.client(new OkHttpClient())
.encoder(new JacksonEncoder())
.decoder(new JacksonDecoder())
.logger(new Slf4jLogger(Interface.DeleteComment.class))
.logLevel(Logger.Level.FULL)
.target(Interface.DeleteComment.class, "http://localhost:3000/comments/" + networkConfigurationProperties.id());
}