ChatGPT实战:我用 ChatGPT 生成了一个 SpringBoot博客项目保母级教程

在本教程中,我将探讨是否可以使用 ChatGPT 编写 Spring Boot 应用。

ChatGPT 到底能不能构建 Spring Boot 应用程序?

推荐阅读:ChatGPT生成网站

探讨这个问题,我既感到兴奋又害怕,高兴的是,以后通过ChatGPT可以生成应用,节约开发时间了,害怕的是担心未来我会不会失业。

什么是ChatGPT

ChatGPTChat Generative Pre-trained Transformer)是由 OpenAI 开发并于 2022 年 11 月推出的聊天机器人。 它建立在 OpenAI 的 GPT-3 大型语言模型系列之上,并使用以下方法进行了微调(一种迁移学习方法)监督学习和强化学习技术。

ChatGPT 于 2022 年 11 月 30 日作为原型推出,并因其详细的响应和跨多个知识领域的清晰答案而迅速受到关注。 然而,其参差不齐的事实准确性被认为是一个重大缺陷。 ChatGPT 发布后,OpenAI 的估值估计为 290 亿美元。

什么是SpringBoot?

Spring Boot 为 Java 开发人员提供了一个很好的平台来开发可以直接运行的独立和生产级 spring 应用程序。 你可以从最少的配置开始,而不需要整个 Spring 配置设置。 (小白引导)

打开ChatGPT

生成一个符合自己需求的Spring Boot项目,提示语很重要。

本次输入的提示语:“在 Spring Boot 中创建与数据库对话的 REST API 所需的步骤列表是什么.

ChatGPT的回答如下:

上面内容由于浏览器翻译的问题,出现了翻译上的误差,可以忽略。

具体内容如下:

在在 Spring Boot 中创建与数据库对话的 REST API 涉及以下步骤:

1. 设置开发环境:安装和配置必要的工具,包括 Java、Spring Boot 和数据库管理系统,如 MySQL、PostgreSQL 或 MongoDB。

2. 定义Entitye:确定将存储在数据库中的实体和关系,并使用 @Entity 和 @Id 等注释将它们定义为 Java 类。

3. 配置数据库连接:在application.properties文件或application.yml文件中配置数据库连接。

4. 创建Repository:定义一个扩展Spring Data的CrudRepository或JpaRepository接口的接口,并使用它对数据库进行CRUD(Create、Read、Update、Delete)操作。

5. 实现Controller:定义一个 REST 控制器,将 HTTP 请求映射到存储库中的适当方法。使用@GetMapping、@PostMapping、@PutMapping 和@DeleteMapping 等注解来处理HTTP 请求。

6. 测试 API:使用 Postman 等工具测试您的 API 端点并确保它们按预期工作。

7. 添加安全性:考虑向您的 API 添加安全功能,例如身份验证和授权,以保护您的数据。

8. 部署 API:将您的 API 部署到服务器,例如 Tomcat 或 Jetty,并使其可供用户使用。

请注意,这些步骤是一个高级概述,具体细节将取决于您项目的具体要求。。

接下来我们就根据上面的步骤来生成一个SpringBoot项目(以下过程严格按上面ChatGPT要求)

一、创建SpringBoot项目

上面ChatGPT回答中的第一步是:创建SpringBoot项目

1.打开IDEA创建一个SpringBoot项目

相关的配置项目如何选择?

点击next

创建完成

2.检查pom

新建的项目pom文件肯定是报错的,需要联网解析下相关的依赖

pom中的依赖就是我们创建项目选择的依赖:web、jpa、H2。如果一直还报错(网络不好,拉取不到),需要将本地maven仓库中的setting.xml中的maven镜像地址换成阿里的,下载速度明显很宽

二、创建SpringBoot项目

1.与ChatGPT对话生成Entity

ChatGPT告诉我们的第二步是定义Entity

本项目我们创建的是一个blog项目,我们定义一个文章实体post,

post实体属性通常为:

Post

- id

- title

- content

- slug

- dateCreated

- dateUpdated

接下来,我们在ChatGPT创建一个Post实体,包含:id title content slug dateCreated dateUpdated

关键的内容来,提示语很重要,我会这样告诉ChatGPT给我生成一个entity:

提示语:

创建包含以下属性的'Post'类型作为 Spring Boot实体

- id

- title

- content

- slug

- dateCreated

- dateUpdated

详细代码:

@Entity
@Table(name = "posts")
public class Post {@Id@GeneratedValue(strategy = GenerationType.IDENTITY)private Long id;@Column(nullable = false)private String title;@Column(nullable = false, columnDefinition = "TEXT")private String content;@Column(nullable = false, unique = true)private String slug;@Column(name = "date_created")private LocalDateTime dateCreated;@Column(name = "date_updated")private LocalDateTime dateUpdated;// 构造函数、getter和setter
}

2.复制Entity

在 idea中创建一个model. Post.class 的Entity

Post类

三、配置数据库连接

spring.datasource.generate-unique-name=false
spring.datasource.name=blog
spring.h2.console.enabled=true

四、创建存储库

1.生成Repository

生成Post 类的Spring Repository提示语:

创建一个上面定义的 Post 类的Spring Repository并且继承自JpaRepository,并包括所有 CRUD 操作。

public interface PostRepository extends JpaRepository<Post, Long> {}

2.创建并且复制Repository

符合上面的要求,其中包含了CRUD,继承自JPARepository

五、实现Controller

1.生成Controller

利用ChatGPT生成Controller

提示语:定义一个 REST 控制器,将 HTTP 请求映射到存储库中的适当方法。 使用@GetMapping、@PostMapping、@PutMapping 和@DeleteMapping 等注解来处理HTTP 请求。

@RestController
@RequestMapping("/api/posts")
public class PostController {@Autowiredprivate PostRepository postRepository;@GetMappingpublic List<Post> getAllPosts() {return postRepository.findAll();}@GetMapping("/{id}")public ResponseEntity<Post> getPostById(@PathVariable(value = "id") Long postId)throws ResourceNotFoundException {Post post = postRepository.findById(postId).orElseThrow(() -> new ResourceNotFoundException("Post not found for this id :: " + postId));return ResponseEntity.ok().body(post);}@PostMappingpublic Post createPost(@Valid @RequestBody Post post) {return postRepository.save(post);}@PutMapping("/{id}")public ResponseEntity<Post> updatePost(@PathVariable(value = "id") Long postId,@Valid @RequestBody Post postDetails) throws ResourceNotFoundException {Post post = postRepository.findById(postId).orElseThrow(() -> new ResourceNotFoundException("Post not found for this id :: " + postId));post.setTitle(postDetails.getTitle());post.setContent(postDetails.getContent());post.setSlug(postDetails.getSlug());final Post updatedPost = postRepository.save(post);return ResponseEntity.ok(updatedPost);}@DeleteMapping("/{id}")public Map<String, Boolean> deletePost(@PathVariable(value = "id") Long postId)throws ResourceNotFoundException {Post post = postRepository.findById(postId).orElseThrow(() -> new ResourceNotFoundException("Post not found for this id :: " + postId));postRepository.delete(post);Map<String, Boolean> response = new HashMap<>();response.put("deleted", Boolean.TRUE);return response;}
}

2.创建并且复制

将上面生成的Controller内容复制到IDEA中

六、实现CommandLinerRunner bean

关键提示语:编写一个 CommandLinerRunner bean,使用 PostRepository 插入一个单独的“Post”

创建CommandLinerRunner就是为了插入方便,ChatGPT回答如下:

@Component
public class MyCommandLinerRunner implements CommandLineRunner {@Autowiredprivate PostRepository postRepository;@Overridepublic void run(String... args) throws Exception {Post post = new Post();post.setTitle("My first post");post.setContent("Hello world!");post.setSlug("my-first-post");post.setDateCreated(new Date());post.setDateUpdated(new Date());postRepository.save(post);}
}

把上面的代码稍作调整放到BlogApplication

@BeanCommandLineRunner commandLineRunner(PostRepository postRepository) {return args -> {Post post = new Post();post.setTitle("My first post");post.setContent("Hello world!");post.setSlug("my-first-post");post.setDateCreated(new Date());post.setDateUpdated(new Date());postRepository.save(post);System.out.println("Inserted a post: " + post);};}

七、测试API

1.启动项目测试插入功能

利用CommandLinerRunner 使用 PostRepository 插入一个单独的“Post”

项目启动插入成功,说明插入正常

2.测试查询方法

查询也是没有问题的

项目地址以及详细指导:https://github.com/zhiyongzhao/blog

ChatGPT全栈开发专栏想学习的可以看看

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/7451.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

使用 ChatGPT 生成 Flask REST API:分步指南

API 开发可能是一项耗时且复杂的任务&#xff0c;但并非必须如此。随着自然语言处理和机器学习的进步&#xff0c;我们现在可以使用像 ChatGPT 这样的工具来大大简化这个过程。在这篇博文中&#xff0c;我们将采用循序渐进的方法使用 ChatGPT 生成 Flask REST API。我们将涵盖从…

让ChatGPT生成3D模型

OpenAI 的 ChatGPT 是一种 AI 语言模型&#xff0c;它允许对话输入直接转换为功能代码输出。 有很多应用&#xff0c;从写诗、制作食谱&#xff0c;甚至批判性地分析著名的文本和艺术作品。 但是&#xff0c;语言模型还可以理解多种编程语言和语法。 这使得仅使用文本提示即可生…

一分钟快速利用ChatGPT生成PPT

目标&#xff1a;让AI给我们生成一篇PPT报告 首先介绍一下什么是ChatGPT: ChatGPT是一种基于自然语言处理技术的人工智能应用。它使用OpenAI的GPT模型来自动生成自然语言的回复&#xff0c;可以作为虚拟助手、客服机器人等方面的应用。与其他机器学习模型不同的是&#xff0…

用chatGPT分析热门文章,我发现了流量密码 | chatGPT编程

chatGPT实战编程 01 篇&#xff0c;未来每周至少更新一篇&#xff0c;赞转评是我最大的动力呀 前言 这两天刷着掘金热门文章&#xff0c;真眼馋这阅读量啊~ 羡慕之余痛恨自己太垃圾&#xff0c;写的文章只有几百阅读量&#xff0c;于是打算让chatGPT帮我分析掘金热门文章&…

Postman登录注册指导

在做后端开发的小伙伴经常需要测试自己写的接口是否可以用 这时Postman就是一个很好的选择 如果您还没有下载 可以参考我的文章 API接口调试工具Postman下载安装步骤 安装好之后 我们就需要处理 它的一个注册和登录 我们点击右上角 这里就有一个创建一个账户 我们点击一下 …

Post请求报错405

今天在学习尚硅谷的javaweb课中&#xff0c;在进行RegistServlet类的编写时&#xff0c;form表单中method"post"类中重写的方法为doPost&#xff0c;和视频上的代码一模一样&#xff0c;可还是报错405&#xff0c;如图所示。 package com.atguigu.web;import com.at…

postman 测试接口报错401

问题&#xff1a;用postman看接口数据的时候报401错误&#xff0c;token无效&#xff08;可以确定接口是正确的&#xff09; 解决方法&#xff1a; 一&#xff1a;网上讲打开项目&#xff0c;随便找一个接口&#xff0c;将标头中的Authorization&#xff1a;后面的数据&#x…

Postman请求报405错误

错误原因&#xff1a;请求方式错误。 解决方案&#xff1a;检查一下自己postman的请求方式与编写代码是否一致。

Postman请求报405错误,Method not Allowed

POST请求报405错误&#xff0c;Method not AllowedTOC Postman请求报405错误&#xff0c;Method not Allowed 第一次写博客&#xff0c;技术水平有限&#xff0c;望各位大佬海涵 问题回顾 postman请求报405错误 上代码 第一步&#xff0c;排查代码注解原因 ControllerRequ…

关于Ajax登录请求的405 Method not Allowed 问题

前端交流企鹅&#xff1a;724396871 今天写了一个网站登录的ajax请求&#xff0c;发现总是出现这个405的问题&#xff0c;结果在网上找了很久。都没能解决。 var username $(".username").val();var pwd $(".password").val();var param {Name:usernam…

一个技巧,让ChatGPT学会复杂编程,编程水平逼近人类程序员!

夕小瑶科技说 原创 作者 | 智商掉了一地、Python 随着 AIGC 技术迈出了一大步&#xff0c;ChatGPT 等聊天机器人被频繁地使用在生活和工作中的各个场景。想象一下&#xff0c;当你写代码陷入没有头绪的境地或者无法解决 Bug 时&#xff0c;这种基于大型语言模型&#xff08;LL…

用 ChatGPT 辅助学好机器学习

文章目录 一、前言二、主要内容 &#x1f349; CSDN 叶庭云&#xff1a;https://yetingyun.blog.csdn.net/ 一、前言 探索更高效的学习方法可能是有志者共同的追求&#xff0c;用好 ChatGPT&#xff0c;先行于未来。 作为一个人工智能大语言模型&#xff0c;ChatGPT 可以在帮助…

【我用ChatGPT学编程】Vue-Router中history模式Nginx部署后刷新404的问题

前言 作为一个码农我们都知道ChatGPT实际上是一个十分好用的代码工具&#xff0c;它使用了MarkDown语法更符合我们的习惯&#xff0c;并且可以根据语义理解问题并且给出多种解决方案&#xff0c;所以这个系列就是用ChatGPT来给出对于在coding时遇到的各种Bug。 ChatGPT似乎可…

如何用ChatGPT学Python

入门教程、案例源码、学习资料、读者群 请访问&#xff1a; python666.cn 大家好&#xff0c;欢迎来到 Crossin的编程教室 &#xff01; 关于ChatGPT的能力&#xff0c;大家想必都已听说&#xff0c;很多同学应该都亲自体验过了。其在自然语言处理方面的出色表现&#xff0c;绝…

chatgpt赋能python:Python爬虫绕过会员登录的技巧

Python爬虫绕过会员登录的技巧 在爬取网站数据的过程中&#xff0c;很多网站都需要用户登录才能访问&#xff0c;这对于一个Python爬虫工程师来说是一个挑战&#xff0c;因为如何在不登录的情况下获取数据是一个关键的问题。本文将介绍一些Python爬虫绕过会员登录的技巧&#…

chatgpt赋能python:Python怎么绕过短信验证

Python怎么绕过短信验证 短信验证以及其他形式的验证码已经成为了许多网站和应用程序保护用户隐私的常见方式。然而&#xff0c;对于某些特定的情况&#xff0c;用户可能需要绕过这些验证码&#xff0c;例如自动化测试或者爬取数据。那么&#xff0c;在Python中&#xff0c;我…

使用chatgpt过funcaptcha验证码1个人学习记录

funcaptcha 验证码1 记录 ** funcaptcha 那个公司开发的简要介绍&#xff1a; Funcaptcha是由hCaptcha公司开发的一种人机验证系统。hCaptcha是一家位于美国的人机验证技术提供商&#xff0c;旨在帮助网站和应用程序防止自动化攻击和滥用。 Funcaptcha是hCaptcha提供的一种高级…

chatgpt赋能python:Python如何绕过验证码

Python如何绕过验证码 验证码是防止机器人自动化操作的一种常用手段&#xff0c;在爬虫和自动化软件中经常会遇到验证码的限制。本文将介绍Python如何绕过验证码。 什么是验证码 验证码&#xff08;CAPTCHA&#xff0c; Completely Automated Public Turing test to tell Co…

token绕过

现在的网页有很多验证机制&#xff0c;就是为了防止暴力破解&#xff0c;有直接在前端就可以进行修改的&#xff0c;有需要在服务器进行修改的&#xff0c;对于目前的我来说&#xff0c;如果在服务器修改就没办法绕过&#xff0c;但是大多时候利用burpsuite就可以进行中间代理修…

【AI JUST AI】自然语言交互式学习,ChatGPT成了我的最佳博客写作助手

【AI JUST AI】自然语言交互式学习&#xff0c;ChatGPT成了我的最佳博客写作助手 什么是自然语言交互式学习&#xff1f;ChatGPT是如何成为我的最佳博客写作助手的&#xff1f;**把与Chat GPT的每一次对话都当作一种类型的非系统学习**有问必答&#xff0c;随时交互 总结后记—…