Spring 数据休息的异常
Exceptions with Spring Data Rest
我开始使用 Springboot 和 Spring Data Rest 的微服务概念我很困惑我该如何处理几行代码。
我的主要问题是:我只有实体和存储库,所有 POST 请求的 Spring 数据休息 "generates" 路径,GET 等,我的存储库执行正确。
但是如何处理异常?
例如,我发送了一个没有 "name" 字段的 POST 并且这被接受 但我想 return 一个错误。我该怎么做?
实体
@Document
public class Veiculo{
@Id
private String id;
@Indexed(unique = true)
private String nome;
private String tipo;
@DBRef
List<Contato> contatos;
@DBRef
List<Cliente> clientes;
public String getId() {
return this.id;
}
public Veiculo setId(String id) {
this.id = id;
return this;
}
public String getNome() {
return this.nome;
}
public Veiculo setNome(String nome) {
this.nome = nome;
return this;
}
public String getTipo() {
return this.tipo;
}
public Veiculo setTipo(String tipo) {
this.tipo = tipo;
return this;
}
public List<Contato> getContatos() {
return this.contatos;
}
public Veiculo setContatos(List<Contato> contatos) {
this.contatos = contatos;
return this;
}
public List<Cliente> getClientes() {
return this.clientes;
}
public Veiculo setClientes(List<Cliente> clientes) {
this.clientes = clientes;
return this;
}
}
存储库
@RepositoryRestResource(collectionResourceRel = "veiculos", path = "veiculos")
public interface VeiculoRepository extends MongoRepository<Veiculo, String> {
Veiculo save(Veiculo veiculo);
List<Veiculo> findAll();
}
为什么不直接将 javax.validation.constraints.NotNull 应用于名称参数? Spring 如果缺少值,数据 REST 将应用验证检查并失败。
我开始使用 Springboot 和 Spring Data Rest 的微服务概念我很困惑我该如何处理几行代码。
我的主要问题是:我只有实体和存储库,所有 POST 请求的 Spring 数据休息 "generates" 路径,GET 等,我的存储库执行正确。
但是如何处理异常?
例如,我发送了一个没有 "name" 字段的 POST 并且这被接受 但我想 return 一个错误。我该怎么做?
实体
@Document
public class Veiculo{
@Id
private String id;
@Indexed(unique = true)
private String nome;
private String tipo;
@DBRef
List<Contato> contatos;
@DBRef
List<Cliente> clientes;
public String getId() {
return this.id;
}
public Veiculo setId(String id) {
this.id = id;
return this;
}
public String getNome() {
return this.nome;
}
public Veiculo setNome(String nome) {
this.nome = nome;
return this;
}
public String getTipo() {
return this.tipo;
}
public Veiculo setTipo(String tipo) {
this.tipo = tipo;
return this;
}
public List<Contato> getContatos() {
return this.contatos;
}
public Veiculo setContatos(List<Contato> contatos) {
this.contatos = contatos;
return this;
}
public List<Cliente> getClientes() {
return this.clientes;
}
public Veiculo setClientes(List<Cliente> clientes) {
this.clientes = clientes;
return this;
}
}
存储库
@RepositoryRestResource(collectionResourceRel = "veiculos", path = "veiculos")
public interface VeiculoRepository extends MongoRepository<Veiculo, String> {
Veiculo save(Veiculo veiculo);
List<Veiculo> findAll();
}
为什么不直接将 javax.validation.constraints.NotNull 应用于名称参数? Spring 如果缺少值,数据 REST 将应用验证检查并失败。