java工程创建http接口_Spring Boot 知识笔记(创建maven项目、HTTP接口)

本文介绍了如何使用Maven手工创建Spring Boot应用,包括添加相关依赖、构建Controller并实现HTTP接口。此外,还讲解了使用构建工具生成项目基本架构的方法,以及展示了GET、POST、PUT、DELETE等HTTP请求接口的实现。
摘要由CSDN通过智能技术生成

一、使用Maven手工创建SpringBoot应用(IDEA)

1、  点击File——New——Project——Maven——Next,填写相关信息,创建项目。

2、  在pom.xml中添加相关依赖

org.springframework.boot

spring-boot-starter-parent

2.2.0.M2

org.springframework.boot

spring-boot-starter

org.springframework.boot

spring-boot-starter-web

org.springframework.boot

spring-boot-starter-web

org.springframework

spring-web

5.2.0.M1

3、  在java目录下新建包、新建一个类(不能直接在java文件夹下新建类运行)

packagenet.xdclass.demo.controller;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.EnableAutoConfiguration;importorg.springframework.boot.autoconfigure.SpringBootApplication;importorg.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.ResponseBody;

@RestControllerpublic classSampleController {

@RequestMapping("/")

String home(){return "Hello World!";

}public static void main(String[] args) throwsException{

SpringApplication.run(SampleController.class,args);

}

}

4、 点击运行,没有报错,则说明正常启动

adac8b3be68fe90c23a94e8cc0d9edff.png

5、浏览器访问本地tomcat 8080端口,Hello World就出来了

0d2826f13deab2bb89b6c70c91110f1a.png

6、遇到的报错

引用RequestMapping报错,原因是缺少jar包,解决办法是在pom文件里面添加下面依赖。

org.springframework

spring-web

5.2.0.M1

二、使用构建工具自动生成项目基本架构

da2259cdcfb88eaf3650a45440c9d8f3.png

2、创建、下载demo包,导入IDEA即可

a8f4f441cad1403b840deb33c71a2dd8.png

三、HTTP请求接口

1、Spring Boot启动类

@SpringBootApplication //@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan

@Configuration

@ServletComponentScanpublic class DemoApplication extendsSpringBootServletInitializer {

@OverrideprotectedSpringApplicationBuilder configure(SpringApplicationBuilder application) {return application.sources(DemoApplication .class);

}public static voidmain(String[] args){

SpringApplication.run(DemoApplication .class,args);

}

}

2、Http Get请求

packagenet.xdclass.demo.controller;import org.springframework.web.bind.annotation.*;importnet.xdclass.demo.domain.User;importjavax.servlet.http.HttpServletRequest;importjavax.servlet.http.HttpServletResponse;importjava.util.HashMap;importjava.util.Map;/*** 测试http协议的get请求*/@RestController//@RestController = @Controller+@ResponseBody @Controller处理用户的http请求。@ResponseBody 是把返回的数据转成json格式

public classGetcontroller {private Map params = new HashMap<>();

@GetMapping(path= "/v0/{city_id}/{user_id}")public Object findUser(@PathVariable("city_id") String cityId,@PathVariable("user_id") String userId){

params.put("cityId",cityId);

params.put("userId",userId);returnparams;

}/*** 测试GetMapping

*@paramfrom

*@paramsize

*@return

*/@GetMapping(value= "/v1/page_user1")public Object pageUser(int from,intsize){

params.clear();

params.put("from",from);

params.put("szie",size);returnparams;

}

@GetMapping(value= "/v1/page_user2") //GetMapping相当于RequestMapping+method(get)的封装

public Object pageUserV2(@RequestParam(defaultValue = "0",name = "page") int from,int size){ //page的值映射到from里面了。

params.clear();

params.put("from",from);

params.put("szie",size);returnparams;

}/*** 功能描述:bean对象传参

* 注意:1、注意需要指定http头为 content-type为application/json

* 2、使用body传输数据

*@paramuser

*@return

*/@RequestMapping(value= "/v1/save_user",method =RequestMethod.POST)publicObject saveUser(@RequestBody User user){

params.clear();

params.put("user",user);returnparams;

}/*** 功能描述:测试获取http头信息

*@paramuserAgent

*@paramId

*@return

*/@GetMapping("/v1/get_header")public Object getHeader(@RequestHeader("User-Agent") String userAgent,String Id){

params.clear();

params.put("access-userAgent",userAgent);

params.put("Id",Id);returnparams;

}

@GetMapping("/v1/test_request")publicObject getRequest(HttpServletRequest request){

params.clear();

String id= request.getParameter("id");

params.put("id",id);returnparams;

}

}

3、其他HTTP 方法

packagenet.xdclass.demo.controller;importorg.springframework.stereotype.Controller;importorg.springframework.web.bind.annotation.DeleteMapping;importorg.springframework.web.bind.annotation.PostMapping;importorg.springframework.web.bind.annotation.PutMapping;importorg.springframework.web.bind.annotation.RestController;importjava.util.HashMap;importjava.util.Map;//测试http协议的post、del、put提交

@RestControllerpublic classOtherHttpController {private Map params = new HashMap<>();

@PostMapping("/v1/login")publicObject login(String id,String pwd){

params.clear();

params.put("id",id);

params.put("pwd",pwd);returnparams;

}

@PutMapping("/v1/put")publicObject put(String id){

params.clear();

params.put("id",id);returnparams;

}

@DeleteMapping("/v1/del")publicObject del(String id){

params.clear();

params.put("id", id);returnparams;

}

@PostMapping("/v1/regist")publicObject regist(String username,String password){

params.clear();

params.put("username: ",username);

params.put("password: ",password);returnparams;

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值