如何解决PutMapping中获取空指针异常
我有3个实体,用户,角色和预订都是双向连接的
用户和角色->许多连接表(user_roles)
用户和图书->许多连接表(book_users)
我希望用户发行一本书意味着仅更新可折叠的(book_users)列
userController
package com.kk.booklendingapi.booklending1.controller;
@RestController
@RequestMapping("/rest/user")
public class UserController {
@Autowired
private BookRepository bookRepository;
@Autowired
private UserRepository userRepository;
@GetMapping("/books")
public List<Book> getBooks(){
return bookRepository.findAll();
}
@GetMapping("/books/{bookName}")
public Book getBooks(@PathVariable String bookName){
return bookRepository.findByBookName(bookName);
}
//test purpose
@GetMapping("/users")
public List<OnlyUsersRequest> getUsers(){
return userRepository.getOnlyUsers();
}
@PutMapping("/{userId}")
public User issueBookByName(@PathVariable int userId,@RequestBody String bookName){
Optional<User> optionalUser=userRepository.findById(userId);
User user=optionalUser.get();
if(user==null) {
throw new RuntimeException("USer Not Found: "+user);
}
System.out.println(user.getUsername());
System.out.println(bookName+" "+bookName.getClass());
Book theBook=bookRepository.findByBookName(bookName);
System.out.println(theBook.getbName());
user.addBook(theBook);
return userRepository.save(user);
}
}
在书库中进行了自定义的jpa查询,效果很好
@GetMapping("/books/{bookName}")
public Book getBooks(@PathVariable String bookName){
return bookRepository.findByBookName(bookName);
}
那为什么我在putMapping中得到nullpointerexception
json网址
http://localhost:8484/rest/user/2
json以纯文本格式发送
Angular_Avengers
错误
"java.lang.NullPointerException\r\n\tat com.kk.booklendingapi.booklending1.controller.UserController.issueBookByName(UserController.java:60)\r\n\
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。