JAVA SpringBoot知识笔记(创建maven项目、HTTP接口)转载

原创
小哥 3年前 (2022-10-19) 阅读数 17 #Spring
文章标签 javaSpringBootSpring

一、使用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

版权声明

所有资源都来源于爬虫采集,如有侵权请联系我们,我们将立即删除