如何仅使用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
标记字段,以使它们反映为数据库列。
上一篇: How to expose only writable REST api with Spring Data REST?
下一篇: How to update a @ManyToOne relationship with Spring Data REST?