You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicecomb.apache.org by li...@apache.org on 2018/08/27 09:01:40 UTC
[incubator-servicecomb-docs] 02/09: update
java-chassis-reference/en_US/build-consumer/using-resttemplate.md
This is an automated email from the ASF dual-hosted git repository.
liubao pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-servicecomb-docs.git
commit 4e90180ce463a09fa023597e9e18fdfdd3159330
Author: DeanLee <li...@huawei.com>
AuthorDate: Tue Aug 21 18:05:07 2018 +0800
update java-chassis-reference/en_US/build-consumer/using-resttemplate.md
---
.../en_US/build-consumer/using-resttemplate.md | 60 +++++++---------------
1 file changed, 19 insertions(+), 41 deletions(-)
diff --git a/java-chassis-reference/en_US/build-consumer/using-resttemplate.md b/java-chassis-reference/en_US/build-consumer/using-resttemplate.md
index 8f4528b..879ec94 100644
--- a/java-chassis-reference/en_US/build-consumer/using-resttemplate.md
+++ b/java-chassis-reference/en_US/build-consumer/using-resttemplate.md
@@ -1,20 +1,25 @@
-# 使用RestTemplate开发服务消费者
+# Develop with Rest Template
+## Concept Description
-## 概念阐述
+ Rest Template is a RESTful API provide by the Spring framework. ServiceComb provides the API for service calling
-RestTemplate是Spring提供的RESTful访问接口,ServiceComb提供该接口的实现类用于服务的调用。
+## Scenario
-## 场景描述
+ You can call microservices using your customized URL and the RestTemplate instance provided by ServiceComb regardless of the specific address of the service.
-用户使用ServiceComb提供的RestTemplate实例,可以使用自定义的URL进行服务调用,而不用关心服务的具体地址。
+## Sample Code
-## 示例代码
+ Obtain RestTemplate by calling `RestTemplateBuilder.create()`. Then, use the instance and the customized URL to call microservices. The code is as follows:
-RestTemplate实例通过调用`RestTemplateBuilder.create()`方法获取,再使用该实例通过自定义的URL进行服务调用,代码如下:
+```java
+import org.springframework.stereotype.Component;
+import org.springframework.web.client.RestTemplate;
-* Spring MVC 客户端示例代码:
+import org.apache.servicecomb.foundation.common.utils.BeanUtils;
+import org.apache.servicecomb.foundation.common.utils.Log4jUtils;
+import org.apache.servicecomb.provider.springmvc.reference.RestTemplateBuilder;
+import org.apache.servicecomb.samples.common.schema.models.Person;
-```java
@Component
public class SpringmvcConsumerMain {
private static RestTemplate restTemplate = RestTemplateBuilder.create();
@@ -38,36 +43,10 @@ public class SpringmvcConsumerMain {
}
```
-* JAX RS 客户端示例代码:
-
-```java
-
-@Component
-public class JaxrsConsumerMain {
-
- public static void main(String[] args) throws Exception {
- init();
- //其他都类似spring MVC示例的客户端代码,注意如果服务端只接收 GET 请求,要使用方法 getForObject()
- RestTemplate restTemplate = RestTemplateBuilder.create();
- String result = restTemplate.getForObject("cse://jaxrs/jaxrshello/saybye", String.class);
- }
-
- public static void init() throws Exception {
- Log4jUtils.init();
- BeanUtils.init();
- }
-}
-```
-
-> 说明:
->
-> * URL格式为:`cse://microserviceName/path?querystring`。以[用SpringMVC开发微服务](/用SpringMVC开发微服务)中定义的服务提供者为例,其微服务名称是springmvc,basePath是`/springmvchello`,那么URL中的microserviceName=`springmvc`,请求sayhi时的path=`springmvchello/sayhi`,所以示例代码中请求sayhi的URL是`cse://springmvc/springmvchello/sayhi?name=Java Chassis`。具体代码示例如下 :
-
-
```java
@RestSchema(schemaId = "springmvcHello")
@RequestMapping(path = "/springmvchello", produces = MediaType.APPLICATION_JSON)
-//这里 path = “/springmvchello” 中的 springmvchello 就是 上述的basePath
+//Here, springmvchello in path = "/springmvchello" is the above basePath.
public class SpringmvcHelloImpl implements Hello {
@Override
@RequestMapping(path = "/sayhi", method = RequestMethod.POST)
@@ -82,7 +61,7 @@ public class SpringmvcHelloImpl implements Hello {
}
}
```
-> 下述代码是示例项目 [ SpringMVC ](https://github.com/apache/incubator-servicecomb-java-chassis/tree/master/samples/springmvc-sample)的 springmvc-provider 模块 中 resources 目录下 microservice.yaml
+> The following code is microservice.yaml in the resources directory of the springmvc-provider module of the sample project [Spring MVC] (https://github.com/apache/incubator-service comb-java-chassis/tree/master/samples/springmvc-sample)
```yaml
APPLICATION_ID: springmvc-sample
@@ -107,7 +86,6 @@ cse:
address: http://127.0.0.1:30100 #service center address
```
-
-
-
-> * 使用上述这种URL格式,ServiceComb框架会在内部进行服务发现、熔断容错等处理并最终将请求发送到服务提供者。
+> NOTE:
+- The URL must be in format of ServiceComb: `cse://microserviceName/path?querystring`. Use the provider defined in [Develop Microservice with SpringMVC](/users/develop-with-springmvc/) as an example. The microservice name is `springmvc`, and its base path is `/springmvchello`, so you should set microserviceName in the URL to `springmvchello/sayhi` when requesting sayhi. Therefore, the URL for requesting sayhi is `cse://springmvc/springmvchello/sayhi?name=Java Chassis`.
+- During use of this URL format, the ServiceComb framework will perform internal microservice descovery, fallbreak, and fault tolerance and send the requests to the microservice providers.