我没有看到这两种方法之间有任何主要的时间复杂度差异,它们都有工作魅力,我想了解这两种方法之间的主要区别是什么
我正在从服务中收集学生对象。
bodyToMono 参数化类型参考
public Mono<Collection<Student>> getStudents(String id) {
return webClient
.get()
.uri(uriBuilder -> uriBuilder
.path("/students/{0}")
.build(id))
.retrieve()
.onStatus(HttpStatus::isError, resp -> resp.createException()
.map(WebClientGraphqlException::new)
.flatMap(Mono::error)
).bodyToMono(new ParameterizedTypeReference<Collection<Student>>() {}); // This Line
}
Run Code Online (Sandbox Code Playgroud)
bodyToFlux 收集器
public Mono<Collection<Student>> getStudents(String id) {
return webClient
.get()
.uri(uriBuilder -> uriBuilder
.path("/students/{0}")
.build(id))
.retrieve()
.onStatus(HttpStatus::isError, resp -> resp.createException()
.map(WebClientGraphqlException::new)
.flatMap(Mono::error)
).bodyToFlux(Student.class).collect(Collectors.toList()); // This Line
}
Run Code Online (Sandbox Code Playgroud) 当我运行 Spring Boot 应用程序时,我收到以下日志。它显示像Correct the classpath of your application so that it contains a single, compatible version of javax.servlet.ServletContext
日志
"C:\Program Files\Java\jdk1.8.0_221\bin\java.exe" "-javaagent:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.6\lib\idea_rt.jar=49832:C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.3.6\bin" -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_221\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\access-bridge.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_221\jre\lib\rt.jar;F:\bookShop\bookShop\out\production\classes;F:\bookShop\bookShop\out\production\resources;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jdbc\2.0.6\2d207c40d0d29941858093aa830362d60a4f7e0e\spring-jdbc-2.0.6.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-tx\5.2.0.RELEASE\630fdb60bb48ceb7274fbf69b4082a0b5d684bc0\spring-tx-5.2.0.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-web\2.2.1.RELEASE\689213aca6e25e2aa9b377e61273aa3d31f30f60\spring-boot-starter-web-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-dao\2.0.6\facdcd4a06cd1a1b516aef8bf8f2188843ac5df1\spring-dao-2.0.6.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\commons-logging\commons-logging\1.1\ba24d5de831911b684c92cd289ed5ff826271824\commons-logging-1.1.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\mysql\mysql-connector-java\8.0.18\e088efaa4b568bc7d9f7274b9c5ea1a00da1a45c\mysql-connector-java-8.0.18.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-webmvc\5.2.1.RELEASE\9c118e3a551fe4bf31eb9e395b5f8ef42cf14f42\spring-webmvc-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-json\2.2.1.RELEASE\2d9f5ad8a76edcf3c610e0f825d9c01563a6900a\spring-boot-starter-json-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-validation\2.2.1.RELEASE\ea5bd9055951afe28f64a96524bfd0bf0d362313\spring-boot-starter-validation-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter\2.2.1.RELEASE\5a4d687e6ffec805ce6320af7ca0b18798638200\spring-boot-starter-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-autoconfigure\2.2.1.RELEASE\1e45b519cc3b1de0b1ecee6eed6397c19ede95a2\spring-boot-autoconfigure-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot\2.2.1.RELEASE\3acb07ca9d6b968209a91aec6a7751f35bf22764\spring-boot-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-context\5.2.1.RELEASE\1d3e142adbdbd0810b19462fbd88d94cc51cce01\spring-context-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-web\5.2.1.RELEASE\4f1dfe592951c312b52de469f1940b1cb0455226\spring-web-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-aop\5.2.1.RELEASE\34c11ad92e06753e592865c7c403b09ab884d862\spring-aop-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-beans\5.2.1.RELEASE\d05690257d8e8034b180db3893d5baf8250fb9d3\spring-beans-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-expression\5.2.1.RELEASE\499e91096320f7e6fcfd6920e66d5ed5f0ecfee9\spring-expression-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-core\5.2.1.RELEASE\32b265ff5c7c35257b5a242b9628dcd321a2b010\spring-core-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-tomcat\2.2.1.RELEASE\da314ec9026c230906ea9d1a1330f99bbe2d0fa8\spring-boot-starter-tomcat-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\log4j\log4j\1.2.12\57b8740427ee6d7b0b60792751356cad17dc0d9\log4j-1.2.12.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\logkit\logkit\1.0.1\aaf5649b523c5ffc925e746074979150bb74bfdc\logkit-1.0.1.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\avalon-framework\avalon-framework\4.1.3\92315ee1c4a4c90bee05055713811f28f8509075\avalon-framework-4.1.3.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\javax.servlet\servlet-api\2.3\137a24e9f62973f01f16dd23fc1b5a9964fd9ef\servlet-api-2.3.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework\spring-jcl\5.2.1.RELEASE\a9f6e0b98cd3980b25ab6ead1e59ced0d294d67\spring-jcl-5.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\aopalliance\aopalliance\1.0\235ba8b489512805ac13a8f9ea77a1ca5ebe3e8\aopalliance-1.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.springframework.boot\spring-boot-starter-logging\2.2.1.RELEASE\8ba18bb64e02782065526e05bdd1ea5622b04b21\spring-boot-starter-logging-2.2.1.RELEASE.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\jakarta.annotation\jakarta.annotation-api\1.3.5\59eb84ee0d616332ff44aba065f3888cf002cd2d\jakarta.annotation-api-1.3.5.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jdk8\2.10.0\ac9b5e4ec02f243c580113c0c58564d90432afaa\jackson-datatype-jdk8-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.datatype\jackson-datatype-jsr310\2.10.0\946bcb4b3ba9facfb338b1d48c2606225205a70c\jackson-datatype-jsr310-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.module\jackson-module-parameter-names\2.10.0\d7ae5421ab27486429aeb878b7e3937544d9324a\jackson-module-parameter-names-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.10.0\1127c9cf62f2bb3121a3a2a0a1351d251a602117\jackson-databind-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.yaml\snakeyaml\1.25\8b6e01ef661d8378ae6dd7b511a7f2a33fae1421\snakeyaml-1.25.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-websocket\9.0.27\8d2b93a8621a83d9283a46cae09d8f87bea877fa\tomcat-embed-websocket-9.0.27.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-core\9.0.27\f1bb28625eb8e10ba05081ec840f49a2ea520d85\tomcat-embed-core-9.0.27.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.apache.tomcat.embed\tomcat-embed-el\9.0.27\9123115b6d11187154d9f462c89c0b0fce171ade\tomcat-embed-el-9.0.27.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\jakarta.validation\jakarta.validation-api\2.0.1\5a864a58587cd76243b8ec55dd7115c9eac25c08\jakarta.validation-api-2.0.1.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.hibernate.validator\hibernate-validator\6.0.18.Final\7fd00bcd87e14b6ba66279282ef15efa30dd2492\hibernate-validator-6.0.18.Final.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-classic\1.2.3\7c4f3c474fb2c041d8028740440937705ebb473a\logback-classic-1.2.3.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-to-slf4j\2.12.1\dfb42ea8ce1a399bcf7218efe8115a0b7ab3788a\log4j-to-slf4j-2.12.1.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.slf4j\jul-to-slf4j\1.7.29\f58dd9d8c15a1141a48de53d2d6b723ae6cf18d6\jul-to-slf4j-1.7.29.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.10.0\e01cfd93b80d6773b3f757c78e756c9755b47b81\jackson-annotations-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.10.0\4e2c5fa04648ec9772c63e2101c53af6504e624e\jackson-core-2.10.0.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.jboss.logging\jboss-logging\3.4.1.Final\40fd4d696c55793e996d1ff3c475833f836c2498\jboss-logging-3.4.1.Final.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\com.fasterxml\classmate\1.5.1\3fe0bed568c62df5e89f4f174c101eab25345b6c\classmate-1.5.1.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\ch.qos.logback\logback-core\1.2.3\864344400c3d4d92dfeb0a305dc87d953677c03c\logback-core-1.2.3.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.slf4j\slf4j-api\1.7.29\e56bf4473a4c6b71c7dd397a833dce86d1993d9d\slf4j-api-1.7.29.jar;C:\Users\renceabishek\.gradle\caches\modules-2\files-2.1\org.apache.logging.log4j\log4j-api\2.12.1\a55e6d987f50a515c9260b0451b4fa217dc539cb\log4j-api-2.12.1.jar" com.book.bookShop.BookShopApplication
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ …
Run Code Online (Sandbox Code Playgroud) docker: Error response from daemon: hcsshim::CreateComputeSystem 38d5975c4992c39b5ee8f5a46ad19f45435ff59b18523e3552c53b24ab23f1ca: The request is not supported.
(extra info: {"SystemType":"Container","Name":"38d5975c4992c39b5ee8f5a46ad19f45435ff59b18523e3552c53b24ab23f1ca","Owner":"docker",
"IgnoreFlushesDuringBoot":true,"LayerFolderPath":"C:\\ProgramData\\Docker\\windowsfilter\\38d5975c4992c39b5ee8f5a46ad19f45435ff59b18523e3552c53b24ab23f1ca",
"Layers":[{"ID":"6658b069-0c9a-5796-8dd4-df51d8e89bf3","Path":"C:\\ProgramData\\Docker\\windowsfilter\\e984e14da4691b4ca5782a9c4b4af88a17db410424d2632d157a261b8d2cd918"},
{"ID":"7b2926d2-514d-5e06-82e3-f9a726c336a6","Path":"C:\\ProgramData\\Docker\\windowsfilter\\d239cc65931aeaa6443dd51452405e442baf32447515ecb3b19aee1a86b3e616"},
{"ID":"f87666ff-622a-57ae-a59c-935bcbd517ab","Path":"C:\\ProgramData\\Docker\\windowsfilter\\c09e132f538143279663778ef82c57af1d1d9af79f47963bf1e543919e9e363e"},
{"ID":"04ca5ecc-0c68-586c-baf1-85fbc7dae2ed","Path":"C:\\ProgramData\\Docker\\windowsfilter\\110cc8554b1db358e3394b0aecbbbf17135775eaabd7e19587bcc081a146dc3f"},
{"ID":"4d028b02-ef55-5ef6-9418-27439f950375","Path":"C:\\ProgramData\\Docker\\windowsfilter\\c4b0fef4a4f026def338d79ba686f3838e9d217f79ed8b5f0a10edf911ee2312"},
{"ID":"6f35449b-a2ff-50a1-9a4a-bb57e59dcd54","Path":"C:\\ProgramData\\Docker\\windowsfilter\\34aa11cc4d8dd2044c5674e4f76ab7766289bf5a7fac0db10b5f3b165bcc7621"},
{"ID":"ccbb1200-37f1-53b2-ab77-0e80099c90e7","Path":"C:\\ProgramData\\Docker\\windowsfilter\\7ff5467f7724bfc90ece4ef3001a186b7fd047d474ffae7e0d51ca351b746eab"},
{"ID":"d4312109-22d8-55e2-a97e-e676cbdd3f81","Path":"C:\\ProgramData\\Docker\\windowsfilter\\3439d5d471045fc013503367e69e349ee4210f5802a8517c999d4be118c99c4a"},
{"ID":"14f30d2a-c510-5be8-a7cd-2d4984c1b10b","Path":"C:\\ProgramData\\Docker\\windowsfilter\\987438c0b2a45e8aafea8858933f8ba4b87ec34ee53ffea747acb30169f180a7"},
{"ID":"d14333f6-a148-555b-a891-db7b0ff9814f","Path":"C:\\ProgramData\\Docker\\windowsfilter\\9bc15a6f050a3708d37f562ab973e9e6db7d136c592f5dc07201ca66ede2d614"},
{"ID":"a04c176c-27f5-557f-87f1-6dcd9beab874","Path":"C:\\ProgramData\\Docker\\windowsfilter\\9f413da158b62b375939235fa7a1529069d5a711beffb69a814663145fc276f9"},
{"ID":"95f19e14-436b-5e5f-9fd6-997b9ad17a8e","Path":"C:\\ProgramData\\Docker\\windowsfilter\\8f3913fbde770ec14c8af226501fb4af3bdde356c7e3de1b6cd5a3a48544f2b6"}],
"HostName":"38d5975c4992","HvPartition":true,"EndpointList":["8dbee51c-78ac-4bf7-8d7b-42cbf1485fdc"],"HvRuntime":{"ImagePath":"C:\\ProgramData\\Docker\\windowsfilter
\\9f413da158b62b375939235fa7a1529069d5a711beffb69a814663145fc276f9\\UtilityVM"},"AllowUnqualifiedDNSQuery":true}).
Run Code Online (Sandbox Code Playgroud)
我仍然遇到上述问题。操作系统:Windows 10 Home(启用 Hyper-v、启用虚拟化、Docker 桌面已启动并运行)
当我尝试运行我的 docker 镜像 ( docker run -p 8085:8085 app
) 时,我遇到了上述问题。
我已经在 github 中提出了一个问题(https://github.com/moby/moby/issues/41998)同时有人可以帮忙吗?