Я создаю Spring Boot и реагирую на приложение. У него есть почтовый запрос на сохранение данных, который завершился успеJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Я создаю Spring Boot и реагирую на приложение. У него есть почтовый запрос на сохранение данных, который завершился успе

Сообщение Anonymous »

Я создал веб-приложение с использованием Spring Boot и React. Когда я пытаюсь создать пользователей. назад – успех. Но при отправке этого запроса из внешнего интерфейса отображается ошибка.
react-> Users.js

Код: Выделить всё

import { useState } from "react";
import axios from 'axios';
import Header from "../component/Header";
function Users() {

const [userName, setUserName] = useState("");
const [password, setPassword] = useState("");
const [email, setEmail] = useState("");
const [address, setAddress] = useState("");
const [role, setRole] = useState("");

function handleUserName(event){
setUserName(event.target.value);
}
function handlePassword(event){
setPassword(event.target.data);
}
function handleEmail(event){
setEmail(event.target.data);
}
function handleAddress(event){
setAddress(event.target.data);
}
function handleUserRole(event){
setRole(event.target.data);
}
function getUsers(event){
event.preventDefault();
axios.get("http://localhost:8080/users")
.then(function(response){
console.log(response);
})
.catch(function(error){
console.log(error);
})
}

// create
function createUser(event) {
event.preventDefault();
const data = {
**username: userName,
password: password,
email: email,
address: address,
role: role**
}
axios.post("http://localhost:8080/user", data)
.then(function (response) {
console.log(response);
})
.catch(function (error) {
console.log(error);
})
}
// end-create

return (


Users Page

{/* create */}

Register Users


User Name


Password


Email


Address


Role

{/* 
Open this select menu
Administrator
Manager
Cashier
Technical Support

Selected option: {role}
 */}

Register

Get User

{/* end-create */}

{/* Table */}



)
}
export default Users;
UserContoller.java

Код: Выделить всё

package com.ijse.coursework.controller;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.CrossOrigin;
import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

import com.ijse.coursework.dto.UserDto;
import com.ijse.coursework.entity.User;
import com.ijse.coursework.service.UserService;

@RestController
@CrossOrigin(origins = "*")
public class UserController {
@Autowired
private UserService userService;

@GetMapping("/users")
public List getAllUsers(){
return userService.getAllUsers();
}

@GetMapping("/user/{id}")
public User getUserById(Long id){
return userService.getUserById(id);
}

@PostMapping("/user")
public User createUser(@RequestBody UserDto userDto){
User user = new User();
user.setUsername(userDto.getUsername());
user.setPassword(userDto.getPassword());
user.setEmail(userDto.getEmail());
user.setAddress(userDto.getAddress());
user.setRole(userDto.getRole());
return userService.createUser(user);
}

@PutMapping("/user/{id}")
public  User updateUser(@PathVariable Long id, @RequestBody UserDto userDto){
User user1 = new User();
user1.setUsername(userDto.getUsername());
user1.setPassword(userDto.getPassword());
user1.setEmail(userDto.getEmail());
user1.setAddress(userDto.getAddress());
user1.setRole(userDto.getRole());
return userService.updateUser(id, user1);
}

@DeleteMapping("/user/{id}")
public void deleteUser(@PathVariable Long id){
userService.deleteUser(id);
}
}
UerDto.java

Код: Выделить всё

package com.ijse.coursework.dto;

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class UserDto {
private Long id;
private String username;
private String password;
private String email;
private String address;
private String role;
}
entity->User.java

Код: Выделить всё

package com.ijse.coursework.entity;

import jakarta.persistence.Column;
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.GenerationType;
import jakarta.persistence.Id;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@Entity
@Getter
@Setter
@ToString
public class User {
@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;

@Column(unique = true)
private String username;

// @Column(nullable = false)
private String password;

// @Column(nullable = false)
private String email;

private String address;

@Column(unique = true)
private String role;
}
UserService.java

Код: Выделить всё

package com.ijse.coursework.service;

import java.util.List;

import org.springframework.stereotype.Service;

import com.ijse.coursework.entity.User;

@Service
public interface UserService {
List  getAllUsers();

User getUserById(Long id);

User createUser(User user);

User updateUser(Long id, User user);

void deleteUser(Long id);
}
UserServiceImpl.java

Код: Выделить всё

package com.ijse.coursework.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ijse.coursework.entity.User;
import com.ijse.coursework.repository.UserRepository;
import com.ijse.coursework.service.UserService;

@Service
public class UserServiceImpl implements UserService{

@Autowired
private UserRepository userRepository;

@Override
public List getAllUsers() {
return userRepository.findAll();
}

@Override
public User getUserById(Long id) {
return userRepository.findById(id).orElse(null);
}

@Override
public User createUser(User user) {
return userRepository.save(user);
}

@Override
public User updateUser(Long id, User user) {
User existUser  =  userRepository.findById(id).orElse(user);
if(existUser!=null){
existUser.setUsername(user.getUsername());
existUser.setPassword(user.getPassword());
existUser.setEmail(user.getEmail());
existUser.setAddress(user.getAddress());
existUser.setRole(user.getRole());
return userRepository.save(existUser);
}else{
return null;
}

}

@Override
public void deleteUser(Long id) {
userRepository.deleteById(id);
}
}
UserRepository.java

Код: Выделить всё

package com.ijse.coursework.repository;

import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.stereotype.Repository;

import com.ijse.coursework.entity.User;

@Repository
public interface UserRepository extends JpaRepository{

}
Ошибка->
Users.js:48

POST http://localhost:8080/user 500 (внутренняя ошибка сервера)
AxiosError {сообщение: «Запрос не выполнен с кодом состояния 500», имя: «AxiosError», код: «ERR_BAD_RESPONSE», конфигурация: {…}, запрос: XMLHttpRequest, …}
code
:
"ERR_BAD_RESPONSE"
config
:
{transitional: {…}, TransformRequest: Array(1), TransformResponse: Array(1), тайм-аут: 0 , адаптер: ƒ, …}
сообщение
:
"Ошибка запроса с кодом состояния 500"
имя
:
"AxiosError"
запрос
:
XMLHttpRequest {onreadystatechange: null, ReadyState: 4, тайм-аут: 0, withCredentials: false, загрузка: XMLHttpRequestUpload, …}
ответ
:
{данные : {…}, статус: 500, statusText: '', заголовки: {…}, конфигурация: {…}, …}
[[Прототип]]
:
Ошибка
Изображение



Подробнее здесь: https://stackoverflow.com/questions/784 ... a-back-end
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»