<span class="s0">// </span><span class="s1">Original SpringBoot project code needs no modification
</span><span class="s0">// </span><span class="s1">Example: Application.java</span>
<span class="s1">package com.example.microservicedemo</span><span class="s1">;</span>
<span class="s0">import </span><span class="s1">org.springframework.boot.SpringApplication;
</span><span class="s0">import </span><span class="s1">org.springframework.boot.autoconfigure.SpringBootApplication;
</span>
<span class="s5">@SpringBootApplication</span>
<span class="s1">public </span><span class="s0">class </span><span class="s1">Application {</span>
<span class="s1">public static void main(String[] args) {</span>
<span class="s1">SpringApplication.run(Application.</span><span class="s0">class</span><span class="s1">, args);
}</span>
<span class="s1">}</span>
<span class="s0">// </span><span class="s1">Example: MyController.java</span>
<span class="s1">package com.example.microservicedemo</span><span class="s1">;</span>
<span class="s0">import </span><span class="s1">org.springframework.web.bind.annotation.GetMapping;
</span><span class="s0">import </span><span class="s1">org.springframework.web.bind.annotation.RequestMapping;
</span><span class="s0">import </span><span class="s1">org.springframework.web.bind.annotation.RestController;
</span>
<span class="s5">@RequestMapping</span><span class="s1">(</span><span class="s8">"/rest"</span><span class="s1">)</span>
<span class="s5">@RestController</span>
<span class="s1">public </span><span class="s0">class </span><span class="s1">MyController {</span>
<span class="s0">@</span><span class="s1">GetMapping(</span>value <span class="s0">= </span><span class="s8">"/hello"</span><span class="s1">)</span>
<span class="s1">public String helloWorld(String name) {</span>
<span class="s0">return </span><span class="s8">"Hello World, " </span><span class="s0">+ </span><span class="s1">name;
}</span>
<span class="s1">}</span>
<span class="s1">Step 1: Add dependency on openYuanrong SpringBoot Adapter SDK in pom.xml
</span><span class="s0"><</span><span class="s1">dependency</span><span class="s0">></span>
<span class="s0"><</span><span class="s1">groupId</span><span class="s0">></span><span class="s1">org.yuanrong.m2s</span><span class="s0"></</span><span class="s1">groupId</span><span class="s0">></span>
<span class="s0"><</span><span class="s1">artifactId</span><span class="s0">></span><span class="s1">microservice</span><span class="s0">-</span><span class="s1">function</span><span class="s0">-</span><span class="s1">yuanrong</span><span class="s0"></</span><span class="s1">artifactId</span><span class="s0">></span>
<span class="s0"></</span><span class="s1">dependency</span><span class="s0">></span>
<span class="s1">Step 2: After compiling and packaging, call REST API to deploy the application on openYuanrong cluster
curl </span><span class="s0">-</span><span class="s1">X </span><span class="s2">POST </span><span class="s0">-</span><span class="s1">i </span><span class="s0">/</span><span class="s1">serverless</span><span class="s0">/</span><span class="s1">v1</span><span class="s0">/</span><span class="s1">functions </span><span class="s0">-</span><span class="s1">d </span><span class="s0">@</span><span class="s1">create_func.json</span>
<span class="s0">// </span><span class="s1">create_func.json</span>
<span class="s1">{</span>
<span class="s8">"name"</span><span class="s1">: </span><span class="s8">"0@microservice@demo"</span><span class="s1">,</span>
<span class="s8">"handler"</span><span class="s1">: </span><span class="s8">"org.yuanrong.m2s.function.Handler.handleRestRequest"</span><span class="s1">,</span>
<span class="s8">"runtime"</span><span class="s1">: </span><span class="s8">"java8"</span><span class="s1">,</span>
<span class="s8">"cpu"</span><span class="s1">: </span><span class="s3">600</span><span class="s1">,</span>
<span class="s8">"memory"</span><span class="s1">: </span><span class="s3">512</span><span class="s1">,</span>
<span class="s8">"timeout"</span><span class="s1">: </span><span class="s3">30</span><span class="s1">,</span>
<span class="s8">"environment"</span><span class="s1">: {</span>
<span class="s8">"spring_start_class"</span><span class="s1">: </span><span class="s8">"com.example.microservicedemo.Application"</span>
<span class="s1">},</span>
<span class="s8">"kind"</span><span class="s1">: </span><span class="s8">"faas"</span><span class="s1">,</span>
<span class="s8">"extendedHandler"</span><span class="s1">: {</span>
<span class="s8">"initializer"</span><span class="s1">: </span><span class="s8">"org.yuanrong.m2s.function.Handler.initializer"</span>
<span class="s1">},</span>
<span class="s8">"extendedTimeout"</span><span class="s1">: {</span>
<span class="s8">"initializer"</span><span class="s1">: </span><span class="s3">600</span>
<span class="s1">},</span>
<span class="s1">}</span>
<span class="s1">Step 3: Use REST API to call the service
curl </span><span class="s0">-</span><span class="s1">X </span><span class="s2">POST </span><span class="s0">-</span><span class="s1">i </span><span class="s0">/</span><span class="s1">serverless</span><span class="s0">/</span><span class="s1">v1</span><span class="s0">/</span><span class="s1">functions</span><span class="s0">/</span><span class="s1">$</span><span class="s1">{</span><span class="s2">FUNCTION_VERSION_URN</span><span class="s1">}</span><span class="s0">/</span><span class="s1">invocations </span><span class="s0">-</span><span class="s1">d </span><span class="s0">@</span><span class="s1">invoke_func.json</span>
<span class="s0">// </span><span class="s1">invoke_func.json</span>
<span class="s1">{</span>
<span class="s8">"httpMethod"</span><span class="s1">: </span><span class="s8">"GET"</span><span class="s1">,</span>
<span class="s8">"body"</span><span class="s1">: </span><span class="s8">""</span><span class="s1">,</span>
<span class="s8">"path"</span><span class="s1">:</span><span class="s8">"/rest/hello"</span><span class="s1">,</span>
<span class="s8">"pathParameters"</span><span class="s1">:{},</span>
<span class="s8">"queryStringParameters"</span><span class="s1">: {</span>
<span class="s8">"name"</span><span class="s1">: </span><span class="s8">"yuanrong"</span>
<span class="s1">}</span>
<span class="s1">}</span>