我最近有一个关于AWS和Camel的问题,但最后我一直在努力.现在应用程序似乎工作,但我得到一个非常奇怪的例外.
首先,我的应用程序分为两个EC2实例.实例1从亚马逊RSS Feed中获取前10本书的ISBN,并将其存储到.这是代码片段.
public static void main(String[] args) throws Exception {
CamelContext context = new DefaultCamelContext();
context.addRoutes(new RouteBuilder() {
public void configure() {
from(
"rss:http://www.amazon.de/gp/rss/bestsellers/books/ref=zg_bs_books_rsslink?splitEntries=false")
.split()
.method("RssSplitter", "split")
.process(new Dummy())
.setProperty("isbn", simple("${body}"))
.to("aws-sqs://bookz_sqs?accessKey=acceskey&secretKey=secretKey");
}
});
context.start();
Thread.sleep(10000);
context.stop();
}
Run Code Online (Sandbox Code Playgroud)
实例二负责读取SQS作为第一个操作,并最终从WWW中的oder Booklibraries获得额外的Book信息,这是没有问题的,最后构建一个没有问题的RSS Feeder.
public static void main(String[] args) throws Exception {
/*
* Here the sqs camel route gets the ISBN out of the queues and stores it in S3.
*/
CamelContext context = new DefaultCamelContext();
context.addRoutes(new …
Run Code Online (Sandbox Code Playgroud) 问题是我有一个复杂的对象作为 GET 请求的请求参数,并且在我将 Swagger 注释放入该对象内之后。Swagger UI 显示入口参数是一个主体,我必须在其中放置参数。
body: {
"modelId": 0,
"makeId": 0
}
Run Code Online (Sandbox Code Playgroud)
我的 REST 控制器看起来像这样
@RequestMapping(method = RequestMethod.GET, value = "/model")
public SearchModelsResponse searchModels(
@ApiParam(value = "Search for something",
required = true) final ModelSearch search) {...}
Run Code Online (Sandbox Code Playgroud)
和请求对象
public class ModelSearch {
@ApiParam(value = "Something important)", required = true)
private Long modelId;
@ApiParam(value = "Something else important)", required = false)
@Nullable
private Long makeId;
....
}
Run Code Online (Sandbox Code Playgroud)
有没有办法正确注释它,以便 Swagger 将其显示为与请求参数一样正确,而不是作为主体构造?