URL:http://localhost:8098/Users/
身体
{
"firstName": "sakti",
"lastName": "behera",
"email": "sakti.behera@gmail.com",
"departmentId": "1"
}
控制器
@RestController
@RequestMapping("/Users")
public class UserController {
@Autowired
private UserService userService;
@PostMapping("/")
public User saveUser(@RequestBody User user) {
return userService.saveUser(user);
}
@GetMapping("/{id}")
public ResponseTemplateVO getUserWithDepartment(@PathVariable("id") Long userId ) {
return userService.getUserWithDepartment(userId);
}
}
实体类
@Entity
@AllArgsConstructor
@NoArgsConstructor
public class User {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long userId;
private String firstName;
private String lastName;
private String email;
private Long departmentId;
public Long getUserId() {
return userId;
}
public void setUserId(Long userId) {
this.userId = userId;
}
public String getFirstName() {
return firstName;
}
public void setFirstName(String firstName) {
this.firstName = firstName;
}
public String getLastName() {
return lastName;
}
public void setLastName(String lastName) {
this.lastName = lastName;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public Long getDepartmentId() {
return departmentId;
}
public void setDepartmentId(Long departmentId) {
this.departmentId = departmentId;
}
}
售后服务:
enter code here
@Service
public class UserService {
@Autowired
private UserRepository userRepository;
@Autowired
private RestTemplate restTemplate;
public User saveUser(User user) {
return userRepository.save(user);
}
public ResponseTemplateVO getUserWithDepartment(Long userId) {
ResponseTemplateVO vo = new ResponseTemplateVO();
User user = userRepository.findByUserId(userId);
Department department =
restTemplate.getForObject("http://localhost:8097/departments/"+user.getD epartmentId(),Department.class);
vo.setUser(user);
vo.setDepartment(department);
return vo;
}
我点击postmethod,但得到404没有找到我已经添加了我的服务,实体,和控制器也.因为你给的建议添加(/保存),我尝试仍然它是不工作后,打了几次,我看到我的Eclipse控制台的东西,post方法是不允许的.所以它有什么做的代码或 Postman ?
3条答案
按热度按时间bz4sfanl1#
您共享的代码看起来正确。
您是否记得使用端点使用post请求?下面是一个示例:
rur96b6h2#
URL还应该包括您的服务名称。
ar7v8xwq3#
1.检查您的端口号是否为8098。
1.如果配置了项目路径,则URL应为
http://localhost:8098/{project-path}/Users/
1.检查你的
UserController
是否在springboot扫描路径中。如果没有,你可以使用@ComponentScan
annotation将其添加到扫描路径中。1.您可以尝试将'/'更改为'/save'。URL为
http://localhost:8098/Users/save
1.请给予你的 Postman 反馈。