JAVA SpringBoot知识笔记(创建maven项目、HTTP接口)转载
原创一、使用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(在文件夹下运行新类)(在文件夹中运行新类)
package net.xdclass.demo.controller;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@RestController
public class SampleController {
@RequestMapping("/")
String home(){
return "Hello World!";
}
public static void main(String[] args) throws Exception{
SpringApplication.run(SampleController.class,args);
}
}
4、 点击Run(运行),不报告错误,然后正常启动

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

6、遇到的错误、遇到的错误
引用RequestMapping由于丢失而报告错误由于丢失而报告错误因丢失而报告错误因丢失而报告错误jar包,则解决方案是将新包添加到pom将以下依赖项添加到该文件。
org.springframework
spring-web
5.2.0.M1
第二,使用构建工具自动生成项目的基本结构
1、 工具地址。工具地址。工具的地址。 http://start.spring.io/ 选择并填写相关信息选择并填写相关信息

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

三、HTTP请求接口
1、Spring Boot启动类
@SpringBootApplication //@SpringBootApplication = @Configuration+@EnableAutoConfiguration+@ComponentScan
@Configuration
@ServletComponentScan
public class DemoApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(DemoApplication .class);
}
public static void main(String[] args){
SpringApplication.run(DemoApplication .class,args);
}
}
2、Http Get请求
package net.xdclass.demo.controller;
import org.springframework.web.bind.annotation.*;
import net.xdclass.demo.domain.User;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.HashMap;
import java.util.Map;
/**
* 测试http协议的get请求
*/
@RestController //@RestController = @Controller+@ResponseBody @Controller(字节对象)。(字节对象)。http请求。@ResponseBody 您也可以使用也可以使用您也可以使用json格式
public class Getcontroller {
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);
return params;
}
/**
* 测试GetMapping
* @param from
* @param size
* @return
*/
@GetMapping(value = "/v1/page\_user1")
public Object pageUser(int from,int size){
params.clear();
params.put("from",from);
params.put("szie",size);
return params;
}
@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);
return params;
}
/**
* 将页面图像保存到文件将页面图像保存到文件将页面图像保存到文件bean对象传参
* 注意:1我们可以简单地将图像存储在中我们可以简单地将图像存储在中http头为 content-type为application/json
* 2、使用body传输数据
* @param user
* @return
*/
@RequestMapping(value = "/v1/save\_user",method = RequestMethod.POST)
public Object saveUser(@RequestBody User user){
params.clear();
params.put("user",user);
return params;
}
/**
* 将页面图像保存到文件将页面图像保存到文件将页面图像保存到文件测试获取http头信息
* @param userAgent
* @param Id
* @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);
return params;
}
@GetMapping("/v1/test\_request")
public Object getRequest(HttpServletRequest request){
params.clear();
String id = request.getParameter("id");
params.put("id",id);
return params;
}
}
3、其他HTTP 方法
package net.xdclass.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
//测试http协议的post、del、put提交
@RestController
public class OtherHttpController {
private Map params = new HashMap<>();
@PostMapping("/v1/login")
public Object login(String id,String pwd){
params.clear();
params.put("id",id);
params.put("pwd",pwd);
return params;
}
@PutMapping("/v1/put")
public Object put(String id){
params.clear();
params.put("id",id);
return params;
}
@DeleteMapping("/v1/del")
public Object del(String id){
params.clear();
params.put("id", id);
return params;
}
@PostMapping("/v1/regist")
public Object regist(String username,String password){
params.clear();
params.put("username: ",username);
params.put("password: ",password);
return params;
}
}
转载于:https://www.cnblogs.com/Eleven-Liu/p/10914511.html
版权声明
所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除
上一篇:H3CMP Group方式配置PPPMP 下一篇:如何用素数快速打表的方法
itfan123