目录
点击运行之后,可以看到已经运行成功
RESTful Web 服务是干啥用的?
RESTful(Representational State Transfer)Web服务是一种设计和构建网络服务的架构风格。它基于现有的Web标准,如HTTP、URI和XML(或最常见的JSON),以提供可伸缩性、可靠性和可扩展性的分布式系统。
RESTful Web服务的目的是通过使用简单、轻量级的通信协议,使不同的应用程序能够相互交互和通信。以下是一些RESTful Web服务的主要用途和好处:
-
跨平台和语言无关性:RESTful Web服务是基于HTTP协议,因此可以在任何支持HTTP的平台上使用,并且不限制使用特定的编程语言。
-
资源暴露和操作:RESTful Web服务通过使用统一的URL(资源标识符)来表示和暴露数据资源。通过HTTP方法(如GET、POST、PUT、DELETE等),可以对这些资源进行标准化的操作(如获取、创建、更新和删除)。
-
状态无关性:RESTful Web服务是无状态的,每个请求都是独立的,服务器不需要维护任何会话状态。这使得服务更容易扩展和部署,并提高了可靠性。
-
可扩展性和灵活性:RESTful Web服务的设计使得它们易于扩展,可以根据需求添加新的资源和操作。它们还支持使用超媒体链接(HATEOAS)来提供动态的、自描述的API,允许客户端通过从响应中提取链接来发现和访问其他相关资源。
-
安全性和可见性:RESTful Web服务可以通过使用标准的HTTP身份验证和授权机制来实现安全性。此外,使用合适的HTTP方法和状态码,可以提供清晰的错误处理和响应。
总之,RESTful Web服务是一种基于Web标准的架构风格,用于构建可扩展、可靠和可互操作的分布式系统。它提供了一种简单、轻量级和灵活的方式来构建和访问Web服务,并在不同的应用程序之间实现数据交换和通信。
这个是什么意思?“OpenJDK 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.”
这是OpenJDK 64位服务器虚拟机发出的警告消息。它指出在JDK 13中,选项"-Xverify:none"和"-noverify"已被标记为过时,并且在将来的版本中可能会被移除。
这两个选项用于控制Java虚拟机(JVM)对字节码进行验证的行为。"-Xverify:none"选项禁用了字节码的验证,而"-noverify"选项禁用了类加载过程中的字节码验证。
字节码验证是Java虚拟机在加载类文件时进行的一项重要的安全检查。它确保字节码的正确性,以防止在运行时出现潜在的错误或安全漏洞。然而,字节码验证对于某些特定的应用场景可能会产生一些性能开销。
由于"-Xverify:none"和"-noverify"选项在JDK 13中被标记为过时,这意味着它们不再被推荐使用,并且在未来的JDK版本中可能会被移除。如果你使用这些选项,建议考虑使用其他合适的替代方法,以确保代码的正确性和安全性。
请注意,此警告消息只是提醒你在使用这些选项时需要注意,并建议你尽早更新和调整代码以适应将来的JDK版本。
构建一个RESTful Web服务
启动成功
目录结构:
Greeting
package com.example.restservice;
public record Greeting(long id, String content) { }
GreetingController
package com.example.restservice;
import java.util.concurrent.atomic.AtomicLong;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class GreetingController {
private static final String template = "Hello, %s!";
private final AtomicLong counter = new AtomicLong();
@GetMapping("/greeting")
public Greeting greeting(@RequestParam(value = "name", defaultValue = "World") String name) {
return new Greeting(counter.incrementAndGet(), String.format(template, name));
}
}
RestServiceApplication
package com.example.restservice;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class RestServiceApplication {
public static void main(String[] args) {
SpringApplication.run(RestServiceApplication.class, args);
}
}
GB有多大
GB(Gigabyte)是计算机存储容量的单位,表示十亿字节或1024兆字节。它用于衡量硬盘驱动器、内存、存储卡和其他存储设备的容量。
具体来说,1 GB 等于 1,073,741,824 字节,约等于 1.074 × 10^9 字节。以下是一些常见容量的示例:
- 1 GB 大约可以存储 250-500 首普通音乐文件(MP3 格式)。
- 1 GB 大约可以存储数百到数千张照片,具体取决于照片的分辨率和压缩程度。
- 1 GB 大约可以存储约 45 分钟的标准视频(以 DVD 视频质量为基准)。
- 1 GB 大约可以存储大约 300,000 页的纯文本文件。
需要注意的是,计算机存储容量的实际可用空间可能会因为文件系统的格式化和操作系统的占用而略有不同。此外,GB 这个单位在不同的上下文中可能还有其他含义,比如网络带宽的速度表示等。