我尝试将响应头添加到单个端点。
这是我的控制器类。
@RequiredArgsConstructor
@RestController
@RequestMapping("/dds/users")
public class TypeController {
private final UserService userService;
private final UserMapper userMapper;
@GetMapping()
public List<UserFullDto> getAll() {
return userService.getAll().stream().map(userMapper::mapToFullDto).toList();
}
}
有没有一个解决方案可以添加一个响应头而不使methode返回一个ResponseEntity<>
我不想用这个:
@GetMapping()
public ResponseEntity<List<UserFullDto>> getAll() {
var users = userService.getAll().stream().map(userMapper::mapToFullDto).toList();
return new ResponseEnity.ok().header().body(users);
}
我试过这个没有成功(给我一个404)
@GetMapping(headers = "Cache-Control=max-age=3600")
public ResponseEntity<List<UserFullDto>> getAll() {
...
}
2条答案
按热度按时间lhcgjxsq1#
您可以在没有ResponseEntity的情况下执行此操作。将类的签名更改为
你可以使用
response.addHeader(name, value)
x6h2sr282#
看看这是否有帮助!
响应实体重载了几个参数,为了更好的可读性,您可以创建一个模块化方法,该方法创建并返回此
Map
,以便可以重用它。