当前位置: 首页 > 知识库问答 >
问题:

在Spring中通过字符串查找-REST API

沈飞舟
2023-03-14

我是Spring boot和Spring data JPA的新手,我正在尝试发出一个get请求,以搜索具有相同UF的所有城市的url,但我没有得到它。有人能告诉我如何搜索UFs吗?我正在努力做到以下几点:

@GetMapping(value = {"/{uf}"})
 public List<Cidade> findByUF(@PathVariable String uf){
      return repositorioCidade.findAll();        
 }

以下是我想做的:

我的存储库:

public interface RepositorioCidade extends JpaRepository<Cidade,Long>{
    List<Cidade> findByUF(String uf);
}

实体代码:

@Entity
public class Cidade {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long idCidade;  
    @Column(nullable = false)
    private String cidade;      
    private String uf;  
    
    public Long getIdCidade() {
        return idCidade;
    }
    public void setIdCidade(Long idCidade) {
        this.idCidade = idCidade;
    }    
    public String getCidade() {
        return cidade;
    }
    public void setCidade(String cidade) {
        this.cidade = cidade;
    }
    public String getUf() {
        return uf;
    }
    public void setUf(String uf) {
        this.uf = uf;
    }
    

    
}

控制器:

@RestController
@RequestMapping("/cidade")
public class CidadeREST {
    @Autowired
    private RepositorioCidade repositorioCidade;

    @GetMapping
    public Page<Cidade> listar(Pageable page){
        return repositorioCidade.findAll(page);
    }           

    // @GetMapping(value = {"/{uf}"})
    // public List<Cidade> findByUF(@PathVariable String uf){
    //     return repositorioCidade.findAll();        
    // }

    @PostMapping
    public void salvar(@RequestBody Cidade cidade){
        repositorioCidade.save(cidade);
    }

    @PutMapping
    public void alterar(@RequestBody Cidade cidade){
        if(cidade.getIdCidade() > 0)
        repositorioCidade.save(cidade);
    }

    @GetMapping("/{idCidade}")
    public void excluir(@PathVariable Long idCidade){
        repositorioCidade.deleteById(idCidade);
    }
}

共有1个答案

吕鹏
2023-03-14

您必须创建方法findByUf(),而不是使用jpa inbuild方法findAll()。您必须将查询放入存储库,通过uf

您的存储库将变成:

public interface RepositorioCidade extends JpaRepository<Cidade,Long>{
    @Query(nativeQuery= true, value="SELECT * FROM cidade WHERE uf = ?")
    List<Cidade> findByUF(String uf);
}

你的控制器变成:

@GetMapping(value = {"/{uf}"})
public List<Cidade> findByUF(@PathVariable String uf){
    return repositorioCidade.findByUF(uf);        
}
 类似资料:
  • 问题内容: 我正在寻找一种在字符串中查找JSON数据的方法。像wordpress简码一样思考它。我认为最好的方法是使用正则表达式。我不想解析JSON,只需查找所有出现的事件。 正则表达式中是否有办法使括号的数量匹配?目前,当我嵌套对象时遇到了这个问题。 演示的快速示例: 结果,我想要两个JSON字符串。谢谢! 问题答案: 从给定的文本中提取JSON字符串 由于您正在寻找一种简单的解决方案,因此可以

  • 问题内容: 我正在尝试在python中将字符串拆分为列表,并以字符更改分隔。我发现这很困难,但是可以肯定的是我想得太多了,并且错过了一个可能简单的解决方案。例: ‘abgg22ffeeekkkk1zzabbb’ 会成为: [‘a’,’b’,’gg’,‘22’,’ff’,’eee’,’kkkk’,‘1’,’zz’,’a’,’bbb’] 问题答案:

  • 正在尝试用锚定标记替换所有出现的@提及,到目前为止,我有: 获取以下示例字符串: 到目前为止,所有匹配都正常,但我想忽略单个“@”符号。我曾尝试在“[^@]”之后使用“”和“{2,}”,我认为这将强制执行最低数量的匹配,但它不起作用。

  • 我有一个字符串“1,3,5,7,9,11,12,14”,我想检查该字符串在java中是否包含“12,3,14”。 我的代码:

  • 问题是,我试图这么做,但我检查字符串长度的方法不起作用;我能做些什么来修复它?

  • 问题内容: 我需要在HTML源代码中找到一个单词。我还需要计算发生的次数。我正在尝试使用正则表达式。但它说找到0个匹配项。 我正在使用正则表达式,因为我认为这是最好的方法。如果有更好的方法,请告诉我。 我需要在HTML源代码中找到单词“ hsw.ads”的出现。 我已采取以下步骤。 但是计数是0; 请让我知道您的解决方案。 谢谢。帮助寻求者 问题答案: 您应该尝试一下。 在字符串中传递要搜索的单词