Add Kotlin samples and polish SSL bundle documentation
Closes gh-35105
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2021 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,6 +16,6 @@
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.resttemplate;
|
||||
|
||||
class Details {
|
||||
public class Details {
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,38 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.resttemplate.ssl;
|
||||
|
||||
import org.springframework.boot.docs.io.restclient.resttemplate.Details;
|
||||
import org.springframework.boot.ssl.SslBundles;
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.client.RestTemplate;
|
||||
|
||||
@Service
|
||||
public class MyService {
|
||||
|
||||
private final RestTemplate restTemplate;
|
||||
|
||||
public MyService(RestTemplateBuilder restTemplateBuilder, SslBundles sslBundles) {
|
||||
this.restTemplate = restTemplateBuilder.setSslBundle(sslBundles.getBundle("mybundle")).build();
|
||||
}
|
||||
|
||||
public Details someRestCall(String name) {
|
||||
return this.restTemplate.getForObject("/{name}/details", Details.class, name);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,21 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient;
|
||||
|
||||
public class Details {
|
||||
|
||||
}
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient;
|
||||
|
||||
import org.neo4j.cypherdsl.core.Relationship.Details;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
@@ -16,10 +16,10 @@
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient.ssl;
|
||||
|
||||
import org.neo4j.cypherdsl.core.Relationship.Details;
|
||||
import reactor.core.publisher.Mono;
|
||||
|
||||
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientSsl;
|
||||
import org.springframework.boot.docs.io.restclient.webclient.Details;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.web.reactive.function.client.WebClient;
|
||||
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.boot.docs.features.ssl.bundles
|
||||
|
||||
import org.springframework.boot.ssl.SslBundles
|
||||
import org.springframework.stereotype.Component
|
||||
|
||||
@Component
|
||||
@Suppress("UNUSED_VARIABLE")
|
||||
class MyComponent(sslBundles: SslBundles) {
|
||||
|
||||
init {
|
||||
val sslBundle = sslBundles.getBundle("mybundle")
|
||||
val sslContext = sslBundle.createSslContext()
|
||||
// do something with the created sslContext
|
||||
}
|
||||
|
||||
}
|
||||
@@ -20,7 +20,6 @@ import org.springframework.boot.web.client.RestTemplateBuilder
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.web.client.RestTemplate
|
||||
|
||||
@Suppress("UNUSED_PARAMETER")
|
||||
@Service
|
||||
class MyService(restTemplateBuilder: RestTemplateBuilder) {
|
||||
|
||||
@@ -31,10 +30,7 @@ class MyService(restTemplateBuilder: RestTemplateBuilder) {
|
||||
}
|
||||
|
||||
fun someRestCall(name: String): Details {
|
||||
return restTemplate.getForObject(
|
||||
"/{name}/details",
|
||||
Details::class.java, name
|
||||
)!!
|
||||
return restTemplate.getForObject("/{name}/details", Details::class.java, name)!!
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,37 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
package org.springframework.boot.docs.io.restclient.resttemplate.ssl
|
||||
|
||||
import org.springframework.boot.docs.io.restclient.resttemplate.Details
|
||||
import org.springframework.boot.ssl.SslBundles
|
||||
import org.springframework.boot.web.client.RestTemplateBuilder
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.web.client.RestTemplate
|
||||
|
||||
@Service
|
||||
class MyService(restTemplateBuilder: RestTemplateBuilder, sslBundles: SslBundles) {
|
||||
|
||||
private val restTemplate: RestTemplate
|
||||
|
||||
init {
|
||||
restTemplate = restTemplateBuilder.setSslBundle(sslBundles.getBundle("mybundle")).build()
|
||||
}
|
||||
|
||||
fun someRestCall(name: String): Details {
|
||||
return restTemplate.getForObject("/{name}/details", Details::class.java, name)!!
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
/*
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
*
|
||||
* https://www.apache.org/licenses/LICENSE-2.0
|
||||
*
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
*/
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient
|
||||
|
||||
class Details
|
||||
@@ -16,7 +16,6 @@
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient
|
||||
|
||||
import org.neo4j.cypherdsl.core.Relationship
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.web.reactive.function.client.WebClient
|
||||
import reactor.core.publisher.Mono
|
||||
@@ -30,10 +29,8 @@ class MyService(webClientBuilder: WebClient.Builder) {
|
||||
webClient = webClientBuilder.baseUrl("https://example.org").build()
|
||||
}
|
||||
|
||||
fun someRestCall(name: String?): Mono<Relationship.Details> {
|
||||
return webClient.get().uri("/{name}/details", name).retrieve().bodyToMono(
|
||||
Relationship.Details::class.java
|
||||
)
|
||||
fun someRestCall(name: String?): Mono<Details> {
|
||||
return webClient.get().uri("/{name}/details", name).retrieve().bodyToMono(Details::class.java)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2012-2022 the original author or authors.
|
||||
* Copyright 2012-2023 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -16,8 +16,8 @@
|
||||
|
||||
package org.springframework.boot.docs.io.restclient.webclient.ssl
|
||||
|
||||
import org.neo4j.cypherdsl.core.Relationship
|
||||
import org.springframework.boot.autoconfigure.web.reactive.function.client.WebClientSsl
|
||||
import org.springframework.boot.docs.io.restclient.webclient.Details
|
||||
import org.springframework.stereotype.Service
|
||||
import org.springframework.web.reactive.function.client.WebClient
|
||||
import reactor.core.publisher.Mono
|
||||
@@ -31,10 +31,8 @@ class MyService(webClientBuilder: WebClient.Builder, ssl: WebClientSsl) {
|
||||
webClient = webClientBuilder.baseUrl("https://example.org").apply(ssl.fromBundle("mybundle")).build()
|
||||
}
|
||||
|
||||
fun someRestCall(name: String?): Mono<Relationship.Details> {
|
||||
return webClient.get().uri("/{name}/details", name).retrieve().bodyToMono(
|
||||
Relationship.Details::class.java
|
||||
)
|
||||
fun someRestCall(name: String?): Mono<Details> {
|
||||
return webClient.get().uri("/{name}/details", name).retrieve().bodyToMono(Details::class.java)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user