SpringBoot GET POST 简单搭建

概述

本文简单记录了使用Spring Boot搭建服务器的过程

1. 在eclipse搭建Maven 项目

 

2. maven 配置文件pom.xml增加依赖包

 

	<dependencies>
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-web</artifactId>
		</dependency>
	</dependencies>
	<parent>
		<groupId>org.springframework.boot</groupId>
		<artifactId>spring-boot-starter-parent</artifactId>
		<version>1.4.1.RELEASE</version>


3. 编写代码, 我的代码结构如下

 

4. 编写启动入口

@SpringBootApplication
public class Application {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }

}

5. 编写最简单的Hello接口, 接口定位都放在controller包中

@Controller
@RequestMapping("/firstSpringBoot")
public class ResponseController {

	@RequestMapping("/hello")
	public String hello() {
		return "Hello";
	}

 

Controller 是 Spring 中最基本的组件,主要是处理跟用户交互的,一般每个业务逻辑都会有一个 Controller,提供给用户 http 请求接口,用户请求接口进行数据访问。
Controller有以下有些常用的注解

@Controller:标注 Controller 类,处理 http 请求

@RestController = @Controller + @ResponseBody主要是为了使 http 请求返回数据格式为 json 格式,一帮情况下使用这个注解

@RequestMapping:配置 url 映射,可以作用于类上,也可以在方法上

以下接口 在访问http://localhost:8080/firstSpringBoot/hello  会返回"Hello"字段

@RequestMapping  可以指定GET,POST,DELETE,PUT四种标准的 Restfulapi请求方法  method没有指定默认为get请求

@GetMapping = @RequestMapping  +  method = RequestMethod.GET

@PostMapping = @RequestMapping + method = RequestMethod.POST

 

	@RequestMapping(value= "/getResponse" , method = RequestMethod.GET)
	public Response getResponse()  {
		return responseServiceImpl.getResponse("test");
	}
	

如果返回的是对象, 那会默认将对象转换为Json格式返回

public class Response {
	
	private int code;
	
	private String message;
	private List<String> messages;
	
	。。。。。。
}

返回结果:

 

@PathVariable @RequestParam都可以用于GET请求加参数,以下是两者的区别

使用@RequestParam接收参数,如下图

 

	@GetMapping(value= "/getMessagePath")
	public Response getResponse(@RequestParam(value="message") String message)  {
		return responseServiceImpl.getResponse(message);
	}

url结构:

 

url=.../getMessagePath?message=${message}


@PathVariable

 

	@RequestMapping(value= "/getMessage/{message}", method = RequestMethod.GET)
	public Response getMessage(@PathVariable(value="message") String message)  {
		return responseServiceImpl.getResponse(message);
	}

url结构:url=.../getMessage/${message}  占位符的方式
POST 请求可以使用如下几种方式:

 

 

	@RequestMapping(value= "/getMessage", method = RequestMethod.POST)
	public Response getMessage(int code, String message)  {
		return responseServiceImpl.getResponse(code, message);
	}

发送该请求如下:

 



也可以使用如下形式发送请求

  

POST使用 @RequestBody

 

	@PostMapping(value= "/getMessageBody")
	public Response getMessagePost(@RequestBody PostBean bean)  {
		return responseServiceImpl.getResponse(bean.getCode(), bean.getMessage());
	}
public class PostBean {
	
	private int code;
	
	private String message;
	
	private List<String> messages;
	。。。。
}

使用以下方式请求

 

3. 运行方式

 

Spring boot自带Tomcat作为服务器

书写以下类作为启动入口(@SpringBootApplication作为注解)

 

@SpringBootApplication
public class TestHello {

	public static void main(String[] args) {
		// TODO Auto-generated method stub
		SpringApplication.run(TestHello.class, args);
	}

}

 

@c用于标注业务层组件

 

@Service
public class ResponseServiceImpl implements IResponseService{
	
	@Autowired
	private ResponseDaoImpl responseDaoImpl;


	@Override
	public Response getResponse(String message) {
		return responseDaoImpl.getResponse(message);
	}


	@Override
	public Response getResponse(int code, String message) {
		// TODO Auto-generated method stub
		return responseDaoImpl.getResponse(code, message);
	}
}

 

@controller 中注入@Service

 

@RestController
@RequestMapping("/firstSpringBoot")
public class ResponseController {

	@Autowired
	IResponseService responseServiceImpl;
	。。。
}

 

如果需要使用注解方式注入, 那注入的类必须使用注解

 

@Service
public class ResponseServiceImpl implements IResponseService{
	
	@Autowired
	private ResponseDaoImpl responseDaoImpl;
	。。。
}

 

@Repository
public class ResponseDaoImpl implements IResponseDao{


运行启动类

 

启动以后使用localhost:8080来发送请求。

 

 

 




 

 

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值