如何仅使用Spring Data REST公开可写的REST API?

您好,我正在尝试使用Spring引导+ Spring数据JPA + Spring Data REST开发REST API

我只想公开我的用户的可写部分(基本上没有GET或GET ALL),如下所示

@Entity(name = "User")
public class User implements Serializable {

    @Id
    @GeneratedValue(strategy= GenerationType.AUTO)
    int id;

    @Column
    String login;

    @Column
    String password;

    @Column
    String username;

    @Column
    String address1;

    @Column
    String address2;

    @Column
    String city;

    @Column
    String state;

    @Column
    String zip;

    @Column
    String country;

    @Column
    String creditcard;


}

datarepository如下:

@RepositoryRestResource(path = "users")
public interface UserRepository extends CrudRepository<User, String> {

}

我怎样才能做到这一点?


您可以使用@RestResource(exported = false)重写和标记方法@RestResource(exported = false)

方法是

T findOne(ID id);         // /users/<ID>
Iterable<T> findAll();    // /users
Iterable<T> findAll(Iterable<ID> ids);

对于存储库的所有GET请求,您将获得405 Method Not Allowed HTTP状态。


提示:不需要使用@Column标记字段,以使它们反映为数据库列。

链接地址: http://www.djcxy.com/p/89603.html

上一篇: How to expose only writable REST api with Spring Data REST?

下一篇: How to update a @ManyToOne relationship with Spring Data REST?