使用IDEA搭建基于SpringBoot的RestFulApi


目标:

  1. 项目搭建

  2. 接口编写

  3. 跨域实现

  4. 服务打包

  5. 服务部署

1. 项目搭建

选择创建一个springboot项目:

此处若没有Spring Initializr选项请参考:https://www.cnblogs.com/jtaosblog/p/13114601.html

输入项目信息:

选择spring web:

然后next->finish项目创建完成。

2. 接口编写

项目结构:

编写 TestController

package com.hlzf.webapi.controller;

import org.springframework.web.bind.annotation.*;

@RestController
public class TestController {

    /**
    无参数接口    
    */
    @CrossOrigin
    @RequestMapping(value = "/hlzfwebapi/hello", method = RequestMethod.GET)
    public String hello() {
        return "hello Spring boot";
    }
   
    /**
    有参数接口    
    */
    @CrossOrigin
    @RequestMapping(value = "/hlzfwebapi/gethello", method = RequestMethod.GET)
    public String getHello(@RequestParam(value = "hello") String hello) {
        System.out.println("getHello =" + hello);

        String path = System.getProperties().getProperty("server.path");
        System.out.println("path =" + path);
        return "hello = " + hello;
    }

    /**
    有参数有默认值接口    
    */
    @CrossOrigin
    @RequestMapping(value = "/hlzfwebapi/gethellodefault", method = RequestMethod.GET)
    public String getHelloWorldDefault(@RequestParam(value = "hello", defaultValue = "my is defaultValue") String hello) {
        return "hello = " + hello;
    }

}

启动服务,在ResourceApplication类上右键启动

服务启动正常:

使用PostMan进行测试:

3. 跨域

对某一接口配置,可以在方法上添加 @CrossOrigin 注解

@CrossOrigin
    @RequestMapping(value = "/hlzfwebapi/hello", method = RequestMethod.GET)
    public String hello() {
        return "hello Spring boot";
    }

对一系列接口配置,在类上加注解,对此类的所有接口有效

@CrossOrigin
@RestController
public class TestController {
//...
}

如果想添加全局配置,则需要添加一个配置类

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**")
                .allowedOrigins("*")
                .allowedMethods("POST", "GET", "PUT", "OPTIONS", "DELETE")
                .maxAge(3600)
                .allowCredentials(true);
    }
}

4. 服务打包

修改配置文件pom.xml

<groupId>com.hlzf.webapi</groupId>
<artifactId>hlzfWebApi</artifactId>
<version>1.0.1</version>
<name>hlzfWebApi</name>
<packaging>jar</packaging>
<description>hlzfWebApi</description>
  1. groupId:包名

  2. artifactId:jar文件名

  3. version:版本号

  4. packaging:是即将打包的格式,这里讲的是jar包

输入打包命令:mvn clean install

 

5. 服务部署

使用命令行运行:

java -jar xxx.jar

传参运行,可动态配置服务监听端口:

java -jar xxx.jar 8083 D:\\apipath\\

此时需在服务中接收参数:

@SpringBootApplication
public class WebapiApplication {

    public static void main(String[] args) {


        if(args.length ==2) {
            //端口
            System.out.println("监听端口:" + args[0]);

            //上传的文件存储路径
            System.out.println("文件存储路径:" + args[1]);

            System.getProperties().put("server.port", Integer.valueOf(args[0]));
            System.getProperties().put("server.path", args[1]);
        }
        //启动服务
        SpringApplication.run(WebapiApplication.class, args);
    }

}

如果是Windows环境,使其在后台执行,新建一个bat文件,输入:

@echo off
start javaw -jar xxx.jar
exit

 

 

 

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM