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

未找到Spring post和get

锺离嘉茂
2023-03-14

我试图创建我的第一个Spring后端,简单的应用程序,存储音乐专辑。不幸的是,我创建的endpoint没有一个工作(我使用postman测试了它们,请求返回404,没有找到)。以下是我所有与项目相关的文件/代码

@Repostiory
public interface AlbumRepository extends Repository<Album,Long> {
    @Query(value = "SELECT * FROM album", nativeQuery = true)
    List<Album> findAlbums();

    Album save(Album persisted);
}

@Service
public class AlbumService {
    @Autowired
    private AlbumRepository albumRepository;

    public void saveData(Album album) {
        this.albumRepository.save(album);
    }

    public List<Album> getAllAlbums() {
        return this.albumRepository.findAlbums();
    }

    @PostConstruct
    private void init() {}
}

@Entity
@Table(name="album")
public class Album {
    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column(name="title")
    private String title;
}

@RestController
public class AlbumController {
    @Autowired
    AlbumService albumService;

    @RequestMapping(method=RequestMethod.POST, path="/album/post")
    public ResponseEntity<String> addAlbum(@RequestBody Album album) {
        albumService.saveData(album);
        return new ResponseEntity<String>(HttpStatus.OK);
    }

    @RequestMapping(method=RequestMethod.GET, path="/album/get")
    Iterable<Album> getAlbums() {
        return albumService.getAllAlbums();
    }
}

@SpringBootApplication
@EnableAutoConfiguration(exclude = {DataSourceAutoConfiguration.class, DataSourceTransactionManagerAutoConfiguration.class, HibernateJpaAutoConfiguration.class})
public class MusesiteBackEndApplication {

    public static void main(String[] args) {
        SpringApplication.run(MusesiteBackEndApplication.class, args);
    }

    @Bean
    @ConfigurationProperties(prefix = "spring.datasource")
    public DataSource dataSource() {
        return DataSourceBuilder.create().build();
    }

}

我所尝试的:

结果:com.musesite.dao.AlbumService中的字段albumRepository需要类型为“com.musesite.dao.albumRepository”的bean,但无法找到该bean。

正在添加应创建数据库的dataSource方法。

@bean@ConfigurationProperties(前缀=“spring.DataSource”)public DataSource(){return datasourceBuilder.create().build();}

结果:无。

SpringBootApplication中添加ScanBasePackages:

@SpringBootApplication(ScanBasePackages={“com.musesite.dao”,“com.musesite.model”,“com.musesite.musesiteBackend”,“com.musesite.restful”})

不幸的是,他们都无济于事。

共有1个答案

徐友樵
2023-03-14

试试看:

public interface AlbumRepository extends JpaRepository<Album,Long> {

}

您不需要创建本机查询。您可以使用findAll()和save(album)而不需要任何附加代码。(它们是自动生成的)

---编辑

哎呀!还要将以下批注添加到配置类之一:

@EnableJpaRepositories
 类似资料:
  • 我使用springboot和maryadb数据库进行训练。当我测试数据恢复时,我在邮递员中收到这样一条消息: 。我在复制粘贴中尝试了几个教程,我总是有相同的消息。我也会把控制台中的消息。提前谢谢你的帮助。 控制器 服务 回应的 模型 应用属性 安慰

  • 当我运行我的Android应用程序从eclipse,我得到这个错误。 从日蚀错误复制粘贴 然而,我的亚洲开发银行就在它说的不在的地方。 出了什么问题,如何解决? 我将cd放入adb所在的目录()中,输入adb并显示 adb是绿色的,这意味着它是可执行的,对吗? 例如,dx也是绿色的,当我在命令提示符中输入dx时,它工作了... adb怎么了?

  • 块引号 J拥有一个包含maven父项目(parent)和子项目(Domain,Web,Win)的Eclipse工作区。父pom包含wicket-spring-boot-starter-parent

  • 当我尝试使用或出现以下错误 JAVA错误:sun。安全ssl。SSLSessionImpl。(Lsun/security/ssl/ProtocolVersion;Lsun/security/ssl/CipherSuite;Ljava/util/Collection;Lsun/security/ssl/SessionId;Ljava/lang/String;I)V 在sun.security.ssl

  • 我只是试图得到一个RESTEasy的例子工作,它看起来我有一些麻烦设置我需要的环境。 这是我正在使用的简单示例:http://examples.javacodeGeeks.com/enterprise-/rest/resteasy/resteasy-hello-world-example/ 我不想在Tomcat-Server上运行这个示例,而是想在Eclipse(?)附带的本地J2EE预览服务器上

  • 基本上就是标题所说的。控制台中没有显示错误,因此我不知道出了什么问题。我用的是积垢沉淀剂。任务是为游戏商店制作一个RESTAPI。我试图访问localhost:8080/游戏URL,但404一直在发生。 编辑:将@PostMapping()和@GetMapping()更改为@postmaping和@GetMapping GameStoreApplication.java: 游戏控制器.java: