Spring Data Rest GET上的意外行为

时间:2017-09-21 03:11:01

标签: spring spring-data-rest spring-restcontroller spring-rest

我在使用Spring Data Rest的Spring启动项目中,我实现了数据休息的获取并且工作正常:

@CrossOrigin
@RepositoryRestResource(collectionResourceRel="categorias-perguntas",path="categorias-perguntas")
public interface CategoriaPerguntaRepository extends CrudRepository<CategoriaPergunta, Long>{}

在我实现了正常的RestController之后:

@CrossOrigin
@RestController("motoristas")
public class MotoristaController {...}

一个得到:

@GetMapping
@ResponseStatus(code=HttpStatus.OK)
@ResponseBody
public Motorista buscaMotoristaPeloUsuario(@RequestParam(value="idUsuario") Long idUsuario) {
    return this.motoristaService.findByUsuarioId(idUsuario);
}

实现此控制器后,我的DataRest&#34; / categorias-perguntas&#34;已停止工作,并返回:

"error": "Bad Request",
"exception": "org.springframework.web.bind.MissingServletRequestParameterException",
"message": "Required Long parameter 'idUsuario' is not present",
"path": "/categorias-perguntas"

但&#34; / categorias-perguntas&#34;没有这个参数。 为什么我的RestController会更改数据休息资源行为?

2 个答案:

答案 0 :(得分:0)

我建议为MotoristaController f.e添加一些路径。通过添加类级别注释@ResquestMapping('/ motorista')`并试一试。

答案 1 :(得分:0)

我解决了这个问题,取消了@ResquestMapping注释并将路径放在@GetMapping(&#34; motoristas&#34;)上。但我不知道为什么问题进入。