【问题标题】:How to expose only writable REST api with Spring Data REST?如何使用 Spring Data REST 仅公开可写 REST api?
【发布时间】:2018-02-23 08:03:51
【问题描述】:

您好,我正在尝试使用 Spring boot + Spring Data 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;


}

数据仓库如下:

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

}

我怎样才能做到这一点?

【问题讨论】:

标签: java spring spring-boot spring-data-jpa spring-data-rest


【解决方案1】:

您可以使用@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 状态。


提示:It is not necessary@Column 标记字段,使它们反映为数据库列。

【讨论】:

    猜你喜欢
    • 2016-04-30
    • 2023-03-09
    • 2016-06-23
    • 2015-09-03
    • 2015-05-03
    • 2016-05-05
    • 2016-12-07
    • 1970-01-01
    • 2014-12-02
    相关资源
    最近更新 更多