Spring Boot、MongoDB、Vue 2和Nginx实现一个小说网站
由于篇幅所限,我无法提供完整的代码实例。但我可以提供一个简化的核心函数示例,展示如何在Spring Boot中使用MongoDB查询小说数据并在Vue组件中展示。
// Spring Boot Controller层
@RestController
@RequestMapping("/novels")
public class NovelController {
@Autowired
private NovelRepository novelRepository;
// 查询所有小说
@GetMapping
public List<Novel> getAllNovels() {
return novelRepository.findAll();
}
// 根据ID查询小说
@GetMapping("/{id}")
public Novel getNovelById(@PathVariable(value = "id") String id) {
return novelRepository.findById(id).orElse(null);
}
// 其他CRUD操作
}
// Vue 2组件中,用于展示小说列表
<template>
<div>
<div v-for="novel in novels" :key="novel.id">
{{ novel.title }}
</div>
</div>
</template>
<script>
export default {
data() {
return {
novels: []
};
},
created() {
this.fetchNovels();
},
methods: {
fetchNovels() {
this.$http.get('/api/novels')
.then(response => {
this.novels = response.data;
})
.catch(error => {
console.error('Error fetching novels:', error);
});
}
}
};
</script>
在这个例子中,我们定义了一个简单的NovelController
,它提供了用于查询小说数据的API端点。在Vue组件中,我们使用created
钩子函数在组件创建时获取小说列表,并将其存储在本地状态中以用于渲染。
请注意,这只是一个示例,实际应用中你需要处理如分页、权限校验、错误处理等更多细节。同时,你还需要配置Nginx以代理到你的Spring Boot应用程序,并确保前端资源被正确地部署和引用。
评论已关闭