Spring 从Postman发送的数据,后端接受变成null了?!

今天遇到了个奇怪的问题,用Postman给后端发JSON格式的数据,结果,发来全是null,在网上找了很多方法都不行。可以看看如下的操作:
设计的domain类

package com.zh_2022.domain;

public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;

    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                '}';
    }
}

接受相关JSON的Mapping

    @PostMapping
    public boolean save(@RequestBody Book book) {
        return bookService.save(book);
    }

Postman发送的数据
在这里插入图片描述
就按上面这么做,点击“Send”,结果如下:
在这里插入图片描述
经过一番尝试,我猜测应该是没有相应的构造方法和set函数,因此我给上面的Book类每个加了set方法:

package com.zh_2022.domain;

public class Book {
    private Integer id;
    private String type;
    private String name;
    private String description;
    public void setId(Integer id) {
        this.id = id;
    }
    public void setType(String type) {
        this.type = type;
    }
    public void setName(String name) {
        this.name = name;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    @Override
    public String toString() {
        return "Book{" +
                "id=" + id +
                ", type='" + type + '\'' +
                ", name='" + name + '\'' +
                ", description='" + description + '\'' +
                '}';
    }
}

结果如下,可以看到已经可以收到(id是null是我故意设置的),数据库也可以看到响应数据!
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,下面是一个示例 Spring Boot 后端登录代码: ``` @RestController @RequestMapping("/api/auth") public class AuthController { @Autowired private UserService userService; @PostMapping("/login") public ResponseEntity<Object> login(@RequestBody User loginUser) { // 使用用户名和密码查询数据库,验证用户是否存在 User user = userService.findByUsernameAndPassword(loginUser.getUsername(), loginUser.getPassword()); if (user == null) { return ResponseEntity.badRequest().body("用户名或密码不正确"); } // 如果用户存在,生成 JWT token 并返回 String token = JwtUtil.generateToken(user); Map<String, String> result = new HashMap<>(); result.put("token", token); return ResponseEntity.ok(result); } } ``` 在这个例子中,我们使用了 `UserService` 来查询数据库中的用户,并使用 `JwtUtil` 类来生成 JWT token。如果用户名和密码正确,就会返回包含 token 的响应;如果用户名或密码不正确,就会返回错误响应。 请注意,这只是一个简单的示例代码,实际应用中还需要注意很多其他问题,比如密码的加密、JWT token 的安全性、用户登录状态的保存等。 ### 回答2: 使用Spring Boot编写后端登录代码可以采用以下步骤: 1. 创建一个Spring Boot项目,可以使用官方提供的Spring Initializr来快速生成项目结构。 2. 导入相关依赖,包括spring-boot-starter-web、spring-boot-starter-security等。 3. 创建一个UserController类,用来处理与登录相关的请求。可以使用@RestController注解标记该类,同时使用@RequestMapping注解指定请求路径。示例代码如下: ``` @RestController @RequestMapping("/users") public class UserController { @PostMapping("/login") public String login(@RequestBody User user) { // 检查用户名和密码是否正确,这里可以调用Service层进行验证 if (user.getUsername().equals("admin") && user.getPassword().equals("123456")) { return "登录成功"; } return "登录失败"; } } ``` 4. 创建一个User类,用来表示用户的信息。该类包含用户名和密码两个属性以及对应的getter和setter方法。 ``` public class User { private String username; private String password; // 省略getter和setter方法 } ``` 5. 配置Spring Security,可以在application.properties文件中添加相关配置,例如启用默认的登录页面、取消CSRF保护等。示例代码如下: ``` spring.security.user.name=admin spring.security.user.password=123456 spring.security.user.roles=USER server.servlet.session.cookie.name=SESSION server.servlet.session.cookie.http-only=true server.servlet.session.cookie.secure=true ``` 6. 运行项目,并使用Postman等工具发送post请求到`/users/login`路径,请求体中包含用户名和密码。根据检查结果,返回相应的登录成功或失败信息。 以上即为一个简单的Spring Boot后端登录代码示例,实际项目中还需要根据需求进行具体的业务逻辑开发和安全配置。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值