RESTful接口是一种遵循REST(Representational State Transfer)架构风格的网络接口,设计上更倾向于资源的表述,通过HTTP方法(如GET、POST、PUT、DELETE)直接操作资源,使得接口更简洁、易于理解和维护。
与普通接口相比,RESTful接口的主要区别在于:
-
资源导向:RESTful接口通过URI表示资源,使用HTTP方法操作资源。
-
无状态性:每次请求都应该是独立的,且不依赖于当前服务器的状态。
-
缓存able:RESTful接口应该支持缓存。
-
分层系统:RESTful可以基于不同的网络层级(如同一个网站的不同部分)。
-
按需代码:客户端可以只获取需要的资源。
Java中实现RESTful接口通常使用Spring框架的Spring MVC。以下是一个简单的RESTful接口示例:
import org.springframework.web.bind.annotation.*;
@RestController
@RequestMapping("/api/users")
public class UserController {
@GetMapping("/{id}")
public User getUser(@PathVariable("id") Long id) {
// 获取用户逻辑
}
@PostMapping
public User createUser(@RequestBody User user) {
// 创建用户逻辑
}
@PutMapping("/{id}")
public User updateUser(@PathVariable("id") Long id, @RequestBody User user) {
// 更新用户逻辑
}
@DeleteMapping("/{id}")
public void deleteUser(@PathVariable("id") Long id) {
// 删除用户逻辑
}
}
class User {
// 用户类的属性和方法
}
在这个例子中,@RestController
和@RequestMapping
注解用于定义控制器和接口路径,@GetMapping
、@PostMapping
、@PutMapping
、@DeleteMapping
分别对应HTTP的GET、POST、PUT、DELETE方法。@PathVariable
和@RequestBody
用于接收参数。