[bigdata-081]springでjson戻り値のapiを実現しtomcatに配備する

4185 ワード

1.eclipseでmavenプロジェクトを作成する
2.ディレクトリ構造は以下の通り
. ├── pom.xml ├── src │   ├── main │   │   ├── java │   │   │   └── com │   │   │       └── tts │   │   │           └── demo │   │   │               └── restdemo │   │   │                   ├── App.java │   │   │                   ├── GreetingController.java │   │   │                   └── Greeting.java │   │   └── webapp
3. pom.xmlファイルの内容は以下の通りです.

  4.0.0

  com.tts.demo
  restdemo
  0.0.1-SNAPSHOT
  war

  restdemo
  http://maven.apache.org

  
    UTF-8
    1.8
  

  
    
      junit
      junit
      3.8.1
      test
    
    
    	org.springframework.boot
    	spring-boot-starter-web
    
    
    	org.springframework.boot
    	spring-boot-starter-test
    	test
    
    
    	com.jayway.jsonpath
    	json-path
    	test
    
    
    	org.springframework.boot
    	spring-boot-starter-tomcat
    	provided
    
  
  
  	org.springframework.boot
  	spring-boot-starter-parent
  	1.5.2.RELEASE
  
  
  	
  		
  			org.springframework.boot
  			spring-boot-maven-plugin
  		
  	
  


4. App.java
package com.tts.demo.restdemo;

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.support.SpringBootServletInitializer;  

@SpringBootApplication
public class App extends SpringBootServletInitializer{
	
	@Override
	protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
		//           main     Application   
		return builder.sources(App.class);
	}
	
}

5. Greeting.java
package com.tts.demo.restdemo;

public class Greeting {
	
	private final long id;
    private final String content;

    public Greeting(long id, String content) {
        this.id = id;
        this.content = content;
    }

    public long getId() {
        return id;
    }

    public String getContent() {
        return content;
    }

}

6.GreetingController.java
package com.tts.demo.restdemo;

import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class GreetingController {

	private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();

    @RequestMapping("/greeting")
    public Greeting greeting(@RequestParam(value="name", defaultValue="World") String name) {
        return new Greeting(counter.incrementAndGet(),
                            String.format(template, name));
    }
    
}

 
7.プロジェクト上で右クリックし、exportをwarパッケージ、例えばxxを実行する.war
8.ローカルテスト:tomcatを起動する;xx.warはtomcatのwebappsディレクトリに入れます.
9.ブラウザのアドレスバーに入力https://localhost:8080/xx/greeting
json文字列が表示されます.
{"id":5,"content":"Hello, World!"}
は、実行が完了し、成功したことを示しています.