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

北京城乡建设和住房门户网站建网站要多少钱 优帮云

北京城乡建设和住房门户网站,建网站要多少钱 优帮云,东莞科技网站建设,用.net做网站中含有论坛PostMapping 和 PutMapping 是 Spring MVC 中用于处理 HTTP POST 和 PUT 请求的注解。它们分别对应 HTTP 协议中的 POST 和 PUT 方法,通常用于创建和更新资源。下面详细解释如何在 Spring MVC 中使用这两个注解。 1. 使用 PostMapping PostMapping 注解用于处理 H…

@PostMapping@PutMapping 是 Spring MVC 中用于处理 HTTP POST 和 PUT 请求的注解。它们分别对应 HTTP 协议中的 POST 和 PUT 方法,通常用于创建和更新资源。下面详细解释如何在 Spring MVC 中使用这两个注解。

1. 使用 @PostMapping

@PostMapping 注解用于处理 HTTP POST 请求。POST 请求通常用于创建新的资源。

示例代码

假设我们有一个 Employee 实体类和对应的 EmployeeService 接口:

package com.itheima.reggie.entity;import lombok.Data;import java.time.LocalDateTime;@Data
public class Employee {private Long id;private String name;private String username;private String password;private String phone;private String email;private Integer status;private LocalDateTime createTime;private LocalDateTime updateTime;private Long createUser;private Long updateUser;
}
package com.itheima.reggie.service;import com.itheima.reggie.entity.Employee;public interface EmployeeService {Employee save(Employee employee);
}
控制器方法
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.service.EmployeeService;
import com.itheima.reggie.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;@RestController
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@PostMapping("/employees")public R<String> createEmployee(@RequestBody Employee employee) {// 设置创建时间和创建人employee.setCreateTime(LocalDateTime.now());employee.setCreateUser(1L); // 假设当前登录用户的ID为1// 保存员工信息Employee savedEmployee = employeeService.save(employee);return R.success("员工信息创建成功");}
}

2. 使用 @PutMapping

@PutMapping 注解用于处理 HTTP PUT 请求。PUT 请求通常用于更新现有资源。

示例代码

假设我们有一个 Employee 实体类和对应的 EmployeeService 接口(与上面相同):

控制器方法
import com.itheima.reggie.entity.Employee;
import com.itheima.reggie.service.EmployeeService;
import com.itheima.reggie.utils.R;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;@RestController
public class EmployeeController {@Autowiredprivate EmployeeService employeeService;@PutMapping("/employees")public R<String> updateEmployee(HttpServletRequest request, @RequestBody Employee employee) {// 记录日志log.info(employee.toString());// 获取当前线程IDlong id = Thread.currentThread().getId();log.info("线程id为:{}", id);// 获取当前登录用户的IDLong empId = (Long) request.getSession().getAttribute("employee");if (empId == null) {return R.error("用户未登录");}// 设置更新时间和更新人employee.setUpdateTime(LocalDateTime.now());employee.setUpdateUser(empId);// 更新员工信息employeeService.updateById(employee);return R.success("员工信息修改成功");}
}

详细解释

@PostMapping 示例
  1. 注解

    • @PostMapping("/employees"):表示该方法处理发送到 /employees 路径的 POST 请求。
  2. 方法签名

    • public R<String> createEmployee(@RequestBody Employee employee)
      • 返回类型R<String>,表示返回一个封装了字符串类型数据的响应结果。
      • 参数
        • @RequestBody Employee employee:用于接收请求体中的 JSON 数据,并将其自动转换为 Employee 对象。
  3. 设置创建时间和创建人

    • employee.setCreateTime(LocalDateTime.now());:设置创建时间为当前时间。
    • employee.setCreateUser(1L);:设置创建人为当前登录用户的 ID(假设为 1)。
  4. 保存员工信息

    • Employee savedEmployee = employeeService.save(employee);:调用 employeeServicesave 方法保存员工信息。
  5. 返回响应结果

    • return R.success("员工信息创建成功");:返回一个成功的响应结果,包含成功消息 “员工信息创建成功”。
@PutMapping 示例
  1. 注解

    • @PutMapping("/employees"):表示该方法处理发送到 /employees 路径的 PUT 请求。
  2. 方法签名

    • public R<String> updateEmployee(HttpServletRequest request, @RequestBody Employee employee)
      • 返回类型R<String>,表示返回一个封装了字符串类型数据的响应结果。
      • 参数
        • HttpServletRequest request:用于获取 HTTP 请求的相关信息。
        • @RequestBody Employee employee:用于接收请求体中的 JSON 数据,并将其自动转换为 Employee 对象。
  3. 记录日志

    • log.info(employee.toString());:记录传入的 Employee 对象的信息,便于调试和跟踪。
  4. 获取当前线程 ID

    • long id = Thread.currentThread().getId();:获取当前执行线程的 ID。
    • log.info("线程id为:{}", id);:记录当前线程的 ID,便于调试和跟踪。
  5. 获取当前登录用户的 ID

    • Long empId = (Long) request.getSession().getAttribute("employee");:从当前会话中获取登录用户的 ID。
    • if (empId == null) { return R.error("用户未登录"); }:如果会话中没有 “employee” 属性,返回一个错误响应。
  6. 设置更新时间和更新人

    • employee.setUpdateTime(LocalDateTime.now());:设置更新时间为当前时间。
    • employee.setUpdateUser(empId);:设置更新人为当前登录用户的 ID。
  7. 更新员工信息

    • employeeService.updateById(employee);:调用 employeeServiceupdateById 方法更新员工信息。
  8. 返回响应结果

    • return R.success("员工信息修改成功");:返回一个成功的响应结果,包含成功消息 “员工信息修改成功”。

总结

  • @PostMapping:用于处理 HTTP POST 请求,通常用于创建新的资源。
  • @PutMapping:用于处理 HTTP PUT 请求,通常用于更新现有资源。

通过使用这两个注解,你可以方便地在 Spring MVC 中处理不同的 HTTP 请求,并实现相应的业务逻辑。希望这能帮助你更好地理解和使用 @PostMapping@PutMapping。如果你有其他问题,欢迎继续提问。

http://www.yayakq.cn/news/900900/

相关文章:

  • 学校网站建设方案做私人没有备案的网站
  • 直接用ip地址的网站怎么做公司注册公司流程
  • 网站建设图片怎么加水印网站设计制作行业排行
  • 北郊网站建设公司蓝田县建设局网站
  • 网站首页轮播淘宝店铺去哪里买
  • 中国交通建设集团第四工程局网站网站建设分辨率
  • c .net网站开发实例博客网站设计方案
  • 新媒体与网站建设网站必须做商标么
  • 广州地区做网站的百度首页优化排名
  • 郑州网站推广公司做网站细节
  • 家居网站建设wordpress更改数据库
  • 建立网站分为几阶段国内十大旅游网站排名
  • 品牌网站建设 蝌蚪5小网站改版seo方案
  • 做企业平台网站成本泰安房产网租房
  • 网站建设与优化及覆盖率方案营销活动推广方案
  • 濮阳网站建设熊掌号网站更换ico文件位置
  • 中国工程网查询广西seo网站推广
  • 包头网站制作 建设上海集团平台
  • 营销型企业网站建设应遵循的原则个人网站备案icp
  • 男友给女朋友做网站wordpress 新增
  • 深一互联网站建设怎样安徽省质量提升工程建设网站
  • 台州网站建设哪家公司好门户网站报价单
  • 如何开心设计一个网站成都网站定制中心
  • 佛山cms模板建站线上培训平台搭建
  • 知名电子商务网站什么推广平台好
  • 网站建设在线培训榆次做企业网站
  • 网站推广优化外包便宜做一个网站的建设流程
  • 如何在百度上做网站wordpress 去掉版权
  • 网站建设价钱是多少网站怎么做图片动态图片
  • flash网站后台海外网站cdn加速下载