首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用@PathVariable配置spring-data-rest搜索方法路径

如何使用@PathVariable配置spring-data-rest搜索方法路径
EN

Stack Overflow用户
提问于 2016-10-05 14:33:50
回答 2查看 2.7K关注 0票数 1

我想通过将参数作为路径变量传递来定制我的spring-data-rest搜索方法路径,如下所示

代码语言:javascript
复制
http://localhost:8080/orders/search/customers/{customerId}

findByCustomer(@PathVariable("customerId") Integer customer);

搜索资源按如下方式列出链接

代码语言:javascript
复制
http://localhost:8080/orders/search/customers/%7BcustomerId%7D

如何使用路径参数公开搜索url?

EN

回答 2

Stack Overflow用户

发布于 2016-10-05 18:05:21

您可以使用如下所示的自定义处理程序:

代码语言:javascript
复制
@RepositoryRestController
public class OrderController {

    @Autowired
    OrderRepository orderRepository;

    @GetMapping("/orders/search/customers/{id}")
    public @ResponseBody ResponseEntity<?> getByCustomers(@PathVariable Integer customer) {
        Order order = orderRepository.findOne(id);
        if(order == null) return ResponseEntity.status(HttpStatus.NOT_FOUND).body(null);
        Resource<Order> resource = new Resource<Order>(order); 
        return ResponseEntity.ok(resource);
    }
}

有关这方面的更多信息,请访问here

票数 1
EN

Stack Overflow用户

发布于 2016-10-05 15:07:09

使用HttpServletRequest获取请求url:

代码语言:javascript
复制
findByCustomer(@PathVariable("customerId") Integer customer, HttpServletRequest request){
    String request = request.getRequestURL().toString(); // StringBuffer, so use append if you want to...
    [...]
}

您也可以在?之后使用request.getQueryString()获取查询部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39866926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档