当前位置: 首页 > wzjs >正文

html5 网站开发定制生产型或服务型企业网站有哪些

html5 网站开发定制,生产型或服务型企业网站有哪些,团队拓展方案,国外网站建设素材库Spring_MVC 中的 JSON 数据处理与 REST 风格开发 一、JSON 格式参数 1. 格式布置 依赖导入 为了处理 JSON 数据&#xff0c;需要在项目中引入 Jackson 库&#xff0c;它是 Spring_MVC 默认使用的 JSON 处理工具。 <dependency><groupId>com.fasterxml.jackson…

Spring_MVC 中的 JSON 数据处理与 REST 风格开发

一、JSON 格式参数

1. 格式布置

依赖导入

为了处理 JSON 数据,需要在项目中引入 Jackson 库,它是 Spring_MVC 默认使用的 JSON 处理工具。

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.15.4</version>
</dependency>

配置类

在 Spring 配置类中启用 @EnableWebMvc 注解,以激活 Spring_MVC 的高级功能,包括 JSON 数据的自动处理。

@Configuration
@ComponentScan("com.itheima.controller")
@EnableWebMvc
public class WebConfig {
}
  • @EnableWebMvc:启用 Spring_MVC 的高级功能,包括数据绑定、内容协商等。
  • @ComponentScan:指定 Spring 容器扫描的包路径,确保控制器类被正确加载。

2. JSON 数组格式

示例:接收 JSON 数组

使用 @RequestBody 注解可以接收客户端发送的 JSON 数组,并将其自动转换为 Java 对象。

@Controller
@RequestMapping("/json")
public class JsonController {@PostMapping("/so")@ResponseBodypublic String handleJsonArray(@RequestBody List<String> teachers) {System.out.println("Received teachers: " + teachers);return "{\"model\": \"springmvc\"}";}
}
  • @RequestBody:将请求体中的 JSON 数据绑定到方法参数。
  • List:接收一个字符串数组。

Postman 测试

在 Postman 中,可以将请求类型设置为 POST,并在请求体中输入 JSON 数组:

["Alice","Bob","Charlie"
]

3. JSON 引用类型

示例:接收 JSON 对象

Spring_MVC 可以自动将 JSON 对象转换为对应的 Java 类。

@PostMapping("/st")
@ResponseBody
public String handleJsonObject(@RequestBody Teacher teacher) {System.out.println("Received teacher: " + teacher.getName());return "{\"model\": \"springmvc\"}";
}
  • Teacher 类

    public class Teacher {private String name;private int age;// Getters and Setterspublic String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
    }
    

Postman 测试

在 Postman 中,发送以下 JSON 数据:

{"name": "Alice","age": 30
}

4. JSON 引用数组类型

示例:接收 JSON 对象数组
在这里插入图片描述

Spring_MVC 也可以处理 JSON 对象数组,并将其转换为 Java 对象列表。

@PostMapping("/sf")
@ResponseBody
public String handleJsonArrayObject(@RequestBody List<Teacher> teachers) {System.out.println("Received teachers: " + teachers);return "{\"model\": \"springmvc\"}";
}

Postman 测试

在 Postman 中,发送以下 JSON 数据:

[{"name": "itcsa","id": 123},{"name": "itcsass","id": 125}
]

5. 细节讲述

@RequestBody 与 @RequestParam 的区别

  • @RequestBody:用于接收请求体中的 JSON 数据,并将其反序列化为 Java 对象。
  • @RequestParam:用于接收 URL 参数或表单数据。

示例

@PostMapping("/example")
@ResponseBody
public String example(@RequestBody User user, @RequestParam String token) {System.out.println("User: " + user.getName());System.out.println("Token: " + token);return "{\"status\": \"success\"}";
}
  • @RequestBody User user:接收 JSON 数据并转换为 User 对象。
  • @RequestParam String token:接收 URL 参数 token

二、响应类型处理

1. 返回 JSP 页面

在 Spring_MVC 中,可以直接返回 JSP 页面的名称,而无需使用 @ResponseBody

@GetMapping("/save")
public String save() {return "index.jsp";
}
  • 返回的字符串是 JSP 页面的路径,Spring_MVC 会自动解析并渲染该页面。

2. 返回纯文本

使用 @ResponseBody 注解可以返回纯文本响应。

@GetMapping("/text")
@ResponseBody
public String text() {return "This is a plain text response.";
}
  • @ResponseBody:将方法的返回值直接作为响应体返回。

3. 返回 JSON 数据

@RequestMapping("/sv")
@ResponseBody
public student sv(){System.out.println("返回json数据类型");student student = new student();student.setId(123);student.setName("智能");return student;
}

在这里插入图片描述

是通过respnsebody进行设置的,设置返回类型转换为下面设置的student的类型

数组类型的json:

@RequestMapping("/sm")
@ResponseBody
public List<student> sm(){System.out.println("返回json数据引用类型");student student = new student();student.setId(123);student.setName("智能");student student1 = new student();student1.setName("王五");student1.setId(456);List<student> students = new ArrayList<>();students.add(student1);students.add(student);return students;
}

4、@ResponseBody

类型:方法注解

作用:设置当前控制器作为返回值

三、REST 风格开发

1. REST 原理

REST(Representational State Transfer,表现层状态转换)是一种软件架构风格,用于设计网络应用程序。它强调使用 HTTP 方法(GET、POST、PUT、DELETE 等)来操作资源。

在这里插入图片描述

2. REST 风格的使用规范

示例:CRUD 操作

@RestController
@RequestMapping("/api/users")
public class UserController {@GetMappingpublic List<User> getAllUsers() {return userService.getAllUsers();}@GetMapping("/{id}")public User getUserById(@PathVariable int id) {return userService.getUserById(id);}@PostMappingpublic User createUser(@RequestBody User user) {return userService.createUser(user);}@PutMapping("/{id}")public User updateUser(@PathVariable int id, @RequestBody User user) {return userService.updateUser(id, user);}@DeleteMapping("/{id}")public void deleteUser(@PathVariable int id) {userService.deleteUser(id);}
}
  • @RestController:标记控制器为 REST 风格。
  • @GetMapping@PostMapping@PutMapping@DeleteMapping:分别用于处理 GET、POST、PUT、DELETE 请求。

3. REST 风格的注解使用场景

在这里插入图片描述

4. REST 风格的简用用法

示例:使用 @RestController@RequestMapping

@RestController
@RequestMapping("/books")
public class BookController {@GetMappingpublic List<Book> getAllBooks() {return bookService.getAllBooks();}@GetMapping("/{id}")public Book getBookById(@PathVariable int id) {return bookService.getBookById(id);}@PostMappingpublic Book createBook(@RequestBody Book book) {return bookService.createBook(book);}@PutMapping("/{id}")public Book updateBook(@PathVariable int id, @RequestBody Book book) {return bookService.updateBook(id, book);}@DeleteMapping("/{id}")public void deleteBook(@PathVariable int id) {bookService.deleteBook(id);}
}
  • @RestController:标记控制器为 REST 风格。

  • @RequestMapping(“/books”):设置控制器的基础路径。
    k updateBook(@PathVariable int id, @RequestBody Book book) {
    return bookService.updateBook(id, book);
    }

    @DeleteMapping(“/{id}”)
    public void deleteBook(@PathVariable int id) {
    bookService.deleteBook(id);
    }
    }

- @RestController:标记控制器为 REST 风格。
- @RequestMapping("/books"):设置控制器的基础路径。
- @GetMapping、@PostMapping、@PutMapping、@DeleteMapping:简化了 HTTP 方法的注解。
http://www.dtcms.com/wzjs/594024.html

相关文章:

  • 山东网站建设市场软件实施工资一般多少
  • 自动写作文网站wordpress添加发布视频
  • 凡科网站是骗子湖州微网站建设
  • 网站专题制作流程潍坊seo培训
  • 网站建设公众号小程序推广开发wordpress宗旨是什么
  • 怎样找家做网站的公司桂林市国龙外国语学校
  • 哪些网站可以发布免费招聘信息做网站制作
  • 设计师证谷歌seo博客
  • 设计一套企业网站设计报价内网怎么做网站服务器
  • 泉州网站制作套餐网页设计培训英文缩写
  • 网站备案号不存在公司页面网站设计模板
  • 推荐专业的外贸建站公司杭州网站开发制作公司排名
  • 做网站如何语音对话做的网站必须放在idc机房吗
  • 做噯噯的网站微信生活门户网站源码
  • 网站建设 推广福州最新消息
  • 重庆直播网站平台建设怎样做展示型网站
  • 网站设计机构排行榜软件开发培训机构出来的人社保是怎么交的
  • 网站中文名要注册的吗wordpress快速安装
  • 网站备案后应该做什么做网站卖机械
  • dedecms调取友情链接 网站类型口碑好的邵阳网站建设
  • 如何在电子表格上做网站的连接百度我的订单app
  • 帮别人做app网站门户的兼职曲靖 曲靖网站建设软件(app)开发
  • 西部数据网站管理助手成都网站制作设计
  • 苏州高端网站建设设计公司哪家好wordpress 文章索引插件
  • 毕业设计做网站low南京seo优化公司
  • 嘉定房产网站建设网络推广怎么找客户
  • 网站设计建设那家好附近公司
  • 网站建设世纪明珠北京做网站优化
  • 网站策划的内容公司网站建设的好处
  • 十字绣网站开发yy直播在线观看