您好我正在尝试使用 Spring启动+ 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;
}
和datarepository如下:
@RepositoryRestResource(path = "users")
public interface UserRepository extends CrudRepository<User, String> {
}
我怎样才能做到这一点?
答案 0 :(得分:4)
您可以使用@RestResource(exported = false)
覆盖和标记方法。
方法是
T findOne(ID id); // /users/<ID>
Iterable<T> findAll(); // /users
Iterable<T> findAll(Iterable<ID> ids);
您将获得对存储库的所有405 Method Not Allowed
个请求的GET
HTTP状态。
提示:It is not necessary标记@Column
字段,使其反映为数据库列。