我有这个网址。
http://localhost:9000/api/datos-generales?page=0&size=20&sort=id,asc&filter=7588
我想恢复最后一个参数的值。 “过滤器”。
这是后端方法的签名。
@RestController
@RequestMapping("/api/datos-generales")
public class DatosGeneralesResource {
@GetMapping("")
public ResponseEntity<List<DatosGeneralesDTO>> getAllDatosGenerales(
@org.springdoc.core.annotations.ParameterObject Pageable pageable,
// @RequestAttribute(name = "filter", required = false, value = "") String filter,
@RequestParam(name = "filter", defaultValue = "", required = false) String filter
) {
//SOME CODE
log.debug('FILTER:", filter);
//Here the output is "FILTER:" but the value is not logged.
}
}
我尝试过使用RequestAttribute、RequestParam甚至使用RequestBody,但它们都无法获取参数中的值。
什么是正确的方法?
我认为问题是你的空 URL 路径,试试这个:
@RestController
@RequestMapping("/api"). // <<< change 1 here
public class DatosGeneralesResource {
@GetMapping("/datos-generales") // <<< change 2 here
public ResponseEntity<List<DatosGeneralesDTO>> getAllDatosGenerales(
@org.springdoc.core.annotations.ParameterObject Pageable pageable,
@RequestParam(name = "filter", defaultValue = "", required = false) String filter
) {
//SOME CODE
log.debug('FILTER:", filter);
}
}
而且,是的,
@RequestParam
是正确使用的注释