首页 > 解决方案 > Angular - Spring boot - Http失败响应...... 400 OK,错误:null

问题描述

当我在 Angular 和 Java/Spring Boot 中执行 POST 请求时遇到问题。

这是我的要求:

sendTask(dismissDTO: DismissDTO): Observable<RemoteTaskDTO> {
    const URL: string = '/manager/employees/send-dismiss';
    return this.httpClient.post<RemoteTaskDTO>(URL, dismissDTO);
  }

这是我的终点:

@RestController
@RequestMapping("/employees")
public class EmployeeController {

  @Autowired
  private EmployeeService employeeServiceImpl;

  ...

  @PostMapping("send-dismiss")
  public ResponseEntity<RemoteTaskDTO> sendDismissHHRR(@RequestBody DismissDTO dismissDTO) {

    return ResponseEntity.ok(employeeServiceImpl.sendTaskDismiss(dismissDTO));
  }
}

这些是 DTO 模型:

@Data
public class DismissDTO implements Serializable {
    private static final long serialVersionUID = 1L;
    private ProcessInDTO inDTO;
    private ConversationDTO conversation;
    private String idOldTask;
    private String idNewTask;
}

@Data
@NoArgsConstructor
public class ProcessInDTO implements Serializable {

    private static final long serialVersionUID = -8119148383341404412L;

    private String processKey;
    private String executionId;
    private String assigmentId;
    private String taskId;
    private Integer pageNumber;
    private Integer pageSize;
    private String role;
    private Integer priority;
    private String idProcessInstance;
    private Map<String, Object> parameters;
    List<TaskParameterUrlDTO> parametersUrl = new ArrayList<TaskParameterUrlDTO>();
}

@Data
@EqualsAndHashCode(exclude = { "messages" })
@ToString(exclude = { "messages" })
public class ConversationDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    private Long id;
    private Long idAssociated;
    private TaskTypeDTO taskType;
    private FlowDTO flow;
    private RoleDTO role;

    @JsonIgnoreProperties("conversation")
    private List<MessageDTO> messages= new ArrayList<MessageDTO>();
}

问题是,当我进行部署并测试请求时,它失败并显示错误:

error: null
headers: Object { normalizedNames: Map(0), lazyUpdate: null, lazyInit: lazyInit()}
message: "HTTP failure response for http://localhost:4200/manager/employees/send-dismiss: 400 OK"
name: "httpErrorResponse"
ok: false
status: 400
statusText: "OK"
url: "http://localhost:4200/manager/employees/send-dismiss"

奇怪的是,当我重新部署 Spring Boot 应用程序时,它可以工作。我不知道可能是什么问题。

任何帮助都是好的。谢谢。

标签: javaangularspringspring-bootrest

解决方案


推荐阅读