码迷,mamicode.com
首页 > 编程语言 > 详细

【SpringBoot】使用IDEA创建一个SpringBoot服务,并创建三个restful风格的接口

时间:2019-07-01 22:57:33      阅读:618      评论:0      收藏:0      [点我收藏+]

标签:pos   tco   stat   spring   this   not   初始   autowired   生成   

项目创建:

选择创建一个springboot项目:

技术图片

输入一下项目信息,一般就是maven的信息填一下:

技术图片

选择spring web starter:

技术图片

然后finish就OK了。

编码:

演示的功能就是提供一个计数器功能,可以初始化计数器,修改计数器,查询计数器当前值。没有使用数据库,直接用一个单例类来模拟了,项目结构如下:

技术图片

Count:

 1 package com.me.redis.resouce.bean;
 2 
 3 public class Count {
 4     private int count;
 5 
 6     public int getCount() {
 7         return count;
 8     }
 9 
10     public void setCount(int count) {
11         this.count = count;
12     }
13 }

 

ResourceController:

 1 package com.me.redis.resouce.controller;
 2 
 3 import com.me.redis.resouce.bean.Count;
 4 import org.springframework.beans.factory.annotation.Autowired;
 5 import org.springframework.web.bind.annotation.*;
 6 import com.me.redis.resouce.service.ResourceService;
 7 
 8 @RestController
 9 public class ResourceController {
10 
11     @Autowired
12     ResourceService resourceService;
13 
14     @RequestMapping(value = "/me/count", method = RequestMethod.PUT)
15     @ResponseBody
16     public String initCount(@RequestBody Count count){
17         resourceService.initCount(count);
18         return "init count success";
19     }
20 
21     @RequestMapping(value = "/me/count", method = RequestMethod.POST)
22     @ResponseBody
23     public String modifyCount(@RequestBody Count count){
24         resourceService.addCount(count);
25         return "modify count success";
26     }
27 
28     @RequestMapping(value = "/me/count", method = RequestMethod.GET)
29     @ResponseBody
30     public  Count getCount()
31     {
32         return resourceService.getCount();
33     }
34 }

 

ResourceService:

 1 package com.me.redis.resouce.service;
 2 
 3 import com.me.redis.resouce.bean.Count;
 4 import com.me.redis.resouce.manager.ResourceManager;
 5 import org.springframework.stereotype.Service;
 6 
 7 @Service
 8 public class ResourceService {
 9     public void addCount(Count count){
10         if (count != null){
11             ResourceManager.getInstance().addCount(count.getCount());
12         }
13     }
14 
15     public void minusCount(Count count){
16         if (count != null) {
17             ResourceManager.getInstance().minusCount(count.getCount());
18         }
19     }
20 
21     public Count getCount()
22     {
23         Count count = new Count();
24         count.setCount(ResourceManager.getInstance().getCount());
25         return count;
26     }
27 
28     public void initCount(Count count){
29         if (count != null) {
30             ResourceManager.getInstance().initCount(count.getCount());
31         }
32     }
33 }

 

ResourceManager:

 1 package com.me.redis.resouce.manager;
 2 
 3 public class ResourceManager {
 4     private int count = 0;
 5 
 6     private static ResourceManager instance = new ResourceManager();
 7 
 8     private ResourceManager(){}
 9 
10     public static ResourceManager getInstance(){
11         return instance;
12     }
13 
14     public synchronized void addCount(int i){
15         count = count + i;
16     }
17 
18     public synchronized  void minusCount(int i){
19         count = count -i;
20     }
21 
22     public int getCount(){
23         return count;
24     }
25 
26     public void initCount(int i){
27         count = i;
28     }
29 }

 

ResouceApplication是idea自动生成的:

 1 package com.me.redis.resouce;
 2 
 3 import org.springframework.boot.SpringApplication;
 4 import org.springframework.boot.autoconfigure.SpringBootApplication;
 5 
 6 @SpringBootApplication
 7 public class ResouceApplication {
 8 
 9     public static void main(String[] args) {
10         SpringApplication.run(ResouceApplication.class, args);
11     }
12 
13 }

代码就是这样,注意几个注解的作用就行了。

 

启动服务:

在ResourceApplication类上右键启动:

技术图片

服务启动正常:

技术图片

 

测试:

服务提供了三个接口:

URL都是:/me/count 只是分PUT、POST和GET,其中PUT用于初始化,POST用于修改(这里修改是累加),GET用于查询。

下面使用POSTMan进行测试:

查询接口,服务启动,count默认就是0:

技术图片

 

初始化:

技术图片

 

再次使用查询接口:

技术图片

 

 修改接口:

技术图片

修改后查询:

技术图片

加一个负数试试:

技术图片

查询:

技术图片

 

OK,使用SpringBoot开发restful风格的接口完成。

【SpringBoot】使用IDEA创建一个SpringBoot服务,并创建三个restful风格的接口

标签:pos   tco   stat   spring   this   not   初始   autowired   生成   

原文地址:https://www.cnblogs.com/wuyizuokan/p/11117294.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!