【发布时间】:2020-08-10 12:54:08
【问题描述】:
考虑到 test07 流已经创建,下面的代码 sn-p 不会在异常堆栈跟踪中获得响应体。
try {
URI dataFlowUri = URI.create("http://localhost:9393");
DataFlowOperations dataFlowOperations = new DataFlowTemplate(dataFlowUri);
StreamDefinition streamDefinition = Stream.builder(dataFlowOperations)
.name("test07")
.definition("time|log")
.create();
}
catch (Exception ex){
ex.printStackTrace();
}
org.springframework.web.client.HttpClientErrorException$Conflict: 409 : [没有正文] 在 org.springframework.web.client.HttpClientErrorException.create(HttpClientErrorException.java:125) 在 org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:184) 在 org.springframework.web.client.DefaultResponseErrorHandler.handleError(DefaultResponseErrorHandler.java:125) 在 org.springframework.cloud.dataflow.rest.client.VndErrorResponseErrorHandler.handleError(VndErrorResponseErrorHandler.java:62) 在 org.springframework.web.client.ResponseErrorHandler.handleError(ResponseErrorHandler.java:63) 在 org.springframework.web.client.RestTemplate.handleResponse(RestTemplate.java:782) 在 org.springframework.web.client.RestTemplate.doExecute(RestTemplate.java:740) 在 org.springframework.web.client.RestTemplate.execute(RestTemplate.java:674) 在 org.springframework.web.client.RestTemplate.postForObject(RestTemplate.java:418) 在 org.springframework.cloud.dataflow.rest.client.StreamTemplate.createStream(StreamTemplate.java:121) 在 org.springframework.cloud.dataflow.rest.client.dsl.StreamDefinition.(StreamDefinition.java:60) 在 org.springframework.cloud.dataflow.rest.client.dsl.Stream$StreamDefinitionBuilder.create(Stream.java:400)
另一方面,当 Post 直接请求时
http://localhost:9393/streams/definitions?name=test07&definition=time%20%7C%20log&description=test07
响应如下,状态码为 409
[ { "logref": "DuplicateStreamDefinitionException", "message": "无法创建流 test07,因为已经创建了另一个同名流" } ]
我想在发生异常时获取响应正文
所以如果我在这里遗漏了什么,任何人都可以提供帮助?
【问题讨论】:
标签: spring-cloud spring-cloud-stream spring-cloud-dataflow