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

网站建设的需求分析青岛网站推广关键词

网站建设的需求分析,青岛网站推广关键词,自己如何做网站建设,直播app开发多少钱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.hkea.cn/news/907830/

相关文章:

  • 泊头哪给做网站的好制作网页的教程
  • 漳州建设银行网站首页在百度上打广告找谁
  • 网站免费建站k网络营销策划方案书
  • 网站建设类公网店推广的作用
  • 安平做网站除了百度指数还有哪些指数
  • 做网站公司 蓝纤科技知乎怎么申请关键词推广
  • 临沂免费做网站发表文章的平台有哪些
  • 网站推广的方式包括哪些广西网站建设制作
  • 杭州营销网站建设东莞网站建设哪家公司好
  • 企业做营销型网站手机如何制作网页
  • 连云港网站关键词优化seo自学教程
  • 网站全站出售淘宝关键词排名怎么查询
  • 龙口市规划建设局网站查询收录
  • 学校网站建设注意什么东莞网站营销推广
  • 网站设计模板是什么百度网盘人工客服电话多少
  • wordpress文章收缩长春seo优化企业网络跃升
  • 网站地图调用希爱力双效片骗局
  • 珠海网站建设维护友情链接买卖代理
  • 武汉企业网站推广外包网络广告营销案例分析
  • 深圳哪里有做网站的汕头seo排名收费
  • 如何用腾讯云主机做网站株洲发布最新通告
  • 中国建设银行官网站下载信息流广告投放公司
  • 合肥建站平台网络平台推广是干什么
  • 黄冈工程建设标准造价信息网优化工作流程
  • 怎么做服装外贸网站怎么去推广一个产品
  • 和各大网站做视频的工作总结软件推广赚佣金渠道
  • asp.net是做网站的吗企业文化培训
  • 有链接的网站怎么做seochan是什么意思
  • 开发公司 工程管理中存在问题seo人工智能
  • 网站卖给别人后做违法信息seo和点击付费的区别