Building a RESTful Web Service

本是古典 何须时尚 2022-05-18 02:23 310阅读 0赞

本指南将引导您完成使用Spring 创建“hello world” RESTful Web服务的过程。

原文:https://spring.io/guides/gs/rest-service/

maven pom文件配置:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <groupId>org.springframework</groupId>
  6. <artifactId>gs-rest-service</artifactId>
  7. <version>0.1.0</version>
  8. <parent>
  9. <groupId>org.springframework.boot</groupId>
  10. <artifactId>spring-boot-starter-parent</artifactId>
  11. <version>2.0.3.RELEASE</version>
  12. </parent>
  13. <dependencies>
  14. <dependency>
  15. <groupId>org.springframework.boot</groupId>
  16. <artifactId>spring-boot-starter-web</artifactId>
  17. </dependency>
  18. <dependency>
  19. <groupId>org.springframework.boot</groupId>
  20. <artifactId>spring-boot-starter-test</artifactId>
  21. <scope>test</scope>
  22. </dependency>
  23. <dependency>
  24. <groupId>com.jayway.jsonpath</groupId>
  25. <artifactId>json-path</artifactId>
  26. <scope>test</scope>
  27. </dependency>
  28. </dependencies>
  29. <properties>
  30. <java.version>1.8</java.version>
  31. </properties>
  32. <build>
  33. <plugins>
  34. <plugin>
  35. <groupId>org.springframework.boot</groupId>
  36. <artifactId>spring-boot-maven-plugin</artifactId>
  37. </plugin>
  38. </plugins>
  39. </build>
  40. <repositories>
  41. <repository>
  42. <id>spring-releases</id>
  43. <url>https://repo.spring.io/libs-release</url>
  44. </repository>
  45. </repositories>
  46. <pluginRepositories>
  47. <pluginRepository>
  48. <id>spring-releases</id>
  49. <url>https://repo.spring.io/libs-release</url>
  50. </pluginRepository>
  51. </pluginRepositories>
  52. </project>

创建一个实体类:

  1. package com.ojama.entity.admin;
  2. import java.io.Serializable;
  3. public class Account implements Serializable {
  4. private static final long serialVersionUID = 1L;
  5. private Integer id;
  6. private String name;
  7. public Integer getId() {
  8. return id;
  9. }
  10. public void setId(Integer id) {
  11. this.id = id;
  12. }
  13. public String getName() {
  14. return name;
  15. }
  16. public void setName(String name) {
  17. this.name = name;
  18. }
  19. }

创建一个资源控制器

  1. package com.ojama.controller.admin;
  2. import org.springframework.web.bind.annotation.RequestMapping;
  3. import org.springframework.web.bind.annotation.RequestParam;
  4. import org.springframework.web.bind.annotation.RestController;
  5. import com.ojama.entity.admin.Account;
  6. @RestController
  7. public class AdminController {
  8. @RequestMapping("/getOjama")
  9. public Account getOjama(@RequestParam(value = "name", defaultValue = "ojama") String name) {
  10. Account account = new Account();
  11. account.setId(1);
  12. account.setName(name);
  13. return account;
  14. }
  15. }

@RestController是一个新的注解,也就是有了此注解后,此类的所有方法 都是数据返回,不会返回页面了(相当于给所有方法加上@ResponseBody).

@requestMappiing表示的是访问路径,name参数表示为url的参数值,requestParam可以指定参数是否必填,以及没有填写时,参数的value是多少..

接下来我们让程序可执行.

  1. package com.ojama;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. /**
  5. * Hello world!
  6. *
  7. */
  8. @SpringBootApplication
  9. public class App
  10. {
  11. public static void main( String[] args )
  12. {
  13. SpringApplication.run(App.class, args);
  14. }
  15. }

目录结构

70

运行

70 1

发表评论

表情:
评论列表 (有 0 条评论,310人围观)

还没有评论,来说两句吧...

相关阅读