繁体   English   中英

如何使用 id 以外的路径变量和字段值创建 Get 方法? (Spring Jpa Hibernate Rest)

[英]How create Get method with path variable and field value other than id ? (Spring Jpa Hibernate Rest)

如何使用不是 id 的路径变量创建自定义方法 get?

public class cart {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private int Id;

    private int user_id;

    private Date date;
}


public interface cartRepo extends JpaRepository<cart, Integer>{

    public cart findByUserId(int user_id);
}


@GetMapping("/cartuser/{user_id}")
    public cart getCartofUser(@Valid @PathVariable int user_id)
    {
        cart cart = _cartRepo.findByUserId(user_id);

        return cart;
    }


我试试这个,但不起作用...

没有真正了解您面临的问题是什么。 您可以检查的一件事是“getCartofUser”函​​数。 由于您的 user_id 字段是 int 所以您可以更改

@PathVariable int user_id 

@PathVariable("user_id") Integer user_id

(这在方法参数类型不是字符串时使用。Spring 会自动转换为其相关类型,如 int、String 等。)

解决了

public interface cartRepo extends JpaRepository<cart, Integer>{

    @Query(value = "SELECT * FROM cart WHERE user_id = ?1", nativeQuery = true)
    public cart findByUserId(Integer user_id);
}


@GetMapping("/cartuser/{user_id}")
    public cart getCartofUser(@Valid @PathVariable("user_id") Integer user_id)
    {
        cart cart = _cartRepo.findByUserId(user_id);

        return cart;
    }  

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM