我正在使用spring-data-rest,我有一个像这样的MongoRepository:
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
}
Run Code Online (Sandbox Code Playgroud)
我想允许GET方法,但禁用PUT,POST,PATCH和DELETE(只读Web服务).
@RepositoryRestResource
interface MyEntityRepository extends MongoRepository<MyEntity, String> {
@Override
@RestResource(exported = false)
public MyEntity save(MyEntity s);
@Override
@RestResource(exported = false)
public void delete(String id);
@Override
@RestResource(exported = false)
public void delete(MyEntity t);
}
Run Code Online (Sandbox Code Playgroud)
它似乎不起作用,因为我仍然可以执行PUT,POST,PATCH和DELETE请求.
我有另一个关于JPA的问题.如果我想将它存储在我的数据库中,是否有必要使用@Column注释每个成员变量?或者是否可以通过某些成员变量(在这些示例中为"timestamp"字段)将其遗漏,并且此字段将在每个可能的方案中存储在数据库中:
@Entity
@Table(name = "usercontent")
public class UserContentEntity implements Persistable<Long> {
/** serialVersionUID */
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
@Column(name = "description")
private String contentdescription;
@Column(name = "name")
private String contentname;
@Column(name = "bytes")
@Lob
private byte[] contentbytes;
@Column
private String creator;
private Date timestamp;
// get- and set methods
}
Run Code Online (Sandbox Code Playgroud)
当使用注释@Column是绝对必要的吗?
非常感谢Maik