SpringBoot Web请求、响应
在Spring Boot中,处理Web请求和响应通常是通过使用@RestController
注解的类来实现的,该类中的方法可以使用@RequestMapping
或其特定的变体例如@GetMapping
、@PostMapping
等来处理不同的HTTP请求。
以下是一个简单的例子,展示了如何在Spring Boot中创建一个处理GET请求的控制器,并返回一个简单的响应:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.http.ResponseEntity;
@RestController
public class MyController {
@GetMapping("/hello")
public ResponseEntity<String> hello() {
return ResponseEntity.ok("Hello, Spring Boot!");
}
}
在这个例子中,当你访问/hello
路径时,hello()
方法将会被调用,并返回一个200 OK响应,带有文本 "Hello, Spring Boot!"。
对于更复杂的请求和响应,你可以使用以下功能:
- 请求参数绑定:使用
@RequestParam
- 路径变量:使用
@PathVariable
- 请求体:使用
@RequestBody
- 响应状态码:使用
HttpStatus
- 响应头:使用
HttpEntity
或ResponseEntity
例如,如果你想要处理带有查询参数的GET请求并返回一个自定义状态码和响应头的响应,你可以这样写:
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.http.ResponseEntity;
import org.springframework.http.HttpHeaders;
@RestController
public class MyController {
@GetMapping("/greet")
public ResponseEntity<String> greet(@RequestParam(defaultValue = "World") String name) {
HttpHeaders headers = new HttpHeaders();
headers.set("Custom-Header", "value");
return ResponseEntity.status(200).headers(headers).body("Hello, " + name + "!");
}
}
访问/greet
路径并带上查询参数(例如?name=User
),将会得到一个带有自定义头和个性化问候语的响应。
评论已关闭