在Spring Boot中,可以通过使用@RestController
注解标注一个类,并且使用@RequestMapping
注解指定该类中的方法的请求路径,然后使用@RequestMapping
注解指定具体方法的请求路径,再使用@GetMapping
、@PostMapping
等注解指定具体的请求方法。在方法的参数中,可以使用HttpServletResponse
对象来设置响应头。
下面是一个示例:
import javax.servlet.http.HttpServletResponse;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/api")
public class MyController {
@GetMapping("/hello")
public String hello(HttpServletResponse response) {
response.setHeader("Content-Type", "application/json");
response.setHeader("Custom-Header", "Custom Value");
return "Hello, World!";
}
}
在上面的示例中,@RestController
注解标注了一个类MyController
,并且使用@RequestMapping
注解指定了该类中的方法的请求路径为/api
。接着,使用@GetMapping
注解指定了具体方法的请求路径为/hello
,并在方法参数中添加了一个HttpServletResponse
对象。在hello
方法中,我们可以使用response.setHeader
方法来设置响应头。在这个例子中,我们设置了Content-Type
和Custom-Header
两个响应头。
注意:这里的@RestController
注解等价于@Controller
和@ResponseBody
的组合。@ResponseBody
表示返回的内容作为响应体,而不是作为视图名解析。因此,我们可以直接返回字符串Hello, World!
作为响应体。