HttpErrorResponse:内部服务器错误

HttpErrorResponse : internal server error

提问人:rania 提问时间:7/10/2019 最后编辑:invzbl3rania 更新时间:11/16/2023 访问量:9453

问:

我是新手。angular 6

我已经开发了一个帖子服务,当我通过测试它时,它运行良好,但是当我使用Web浏览器测试它时,它给了我这个错误:spring bootPostman

HttpErrorResponse {headers: HttpHeaders, status: 500, statusText: "OK", url: "http://localhost:8080/api/test/ordermiss", ok: false, …}error: {timestamp: "2019-07-10T13:35:09.083+0000", message: null, details: "uri=/api/test/ordermiss"}details: "uri=/api/test/ordermiss"message: nulltimestamp: "2019-07-10T13:35:09.083+0000"__proto__: Objectheaders: HttpHeaderslazyInit: ƒ ()lazyUpdate: nullnormalizedNames: Map(0) {}__proto__: Objectmessage: "Http failure response for http://localhost:8080/api/test/ordermiss: 500 OK"name: "HttpErrorResponse"ok: falsestatus: 500statusText: "OK"url: "http://localhost:8080/api/test/ordermiss"__proto__: HttpResponseBaseconstructor: ƒ HttpErrorResponse(init)__proto__: Object

and when I take a look to the `Spring` console it gave this warning :

2019-07-11 13:36:01.796  WARN 14404 --- [nio-8080-exec-4] .m.m.a.ExceptionHandlerExceptionResolver : Resolved [java.lang.NullPointerException]

我对另一个对象使用了相同的方法,但我没有收到此错误,所以,请您帮助我。

这是:service

         constructor(private http: HttpClient) { }

         SaveOM(Om: Object): Observable<Object> {
            return this.http.post(`${this.baseUrl}`, Om);
         }

这是:.ts

    save() {
      this.omService.SaveOM(this.ordermission)
      .subscribe(data => console.log(data), error => console.log(error));
    this.ordermission = new Ordermission();
    }

    onSubmit() {
       this.submitted = true;
       this.save();
    }

班级:angular

         export class Ordermission {
         id:number;
         mat:string;
         depart:string;
         dest:string;
         // etat:string;enum class
         // type:string;enum class
         // localisation:string;enum class
         datedeb:Date;
         datefin:Date;
         distance:number;
         couttranp:number;
         coutheberg:number;
         total:number;
        }

这:controller

  @CrossOrigin(origins = "*", maxAge = 3600)
  @RestController
  @RequestMapping("/api/test")
  @PreAuthorize("hasRole('USER') or hasRole('ADMIN')")
  public class OrdermissionController {
 
  @Autowired private OrdermissionRepository ordermissionrep;
  
  @Autowired private OrderMissService orderMissService;


  @PostMapping("/ordermiss")
  // @ExceptionHandler(RuntimeException.class)
  public Ordermission createOM(@Valid @RequestBody Ordermission OM) {
        return orderMissService.saveOM(OM);
  }

这:service

   @Service
   public class OrderMissServiceImpl implementsOrderMissService {
        Double var;
        Double tot;
        long cal;
        long cout;  
    @Autowired private OrdermissionRepository ordermissionrep;
              
    @Override
    public Ordermission saveOM(Ordermission om) {
     if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.sousse) || om.getDepart().equals(Local.sousse) && om.getDest().equals(Local.tunis)) {
                var =(double) 143;
                om.setDistance(var);
     }
         
     if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.tabarka) || om.getDepart().equals(Local.tabarka) && om.getDest().equals(Local.tunis)) {
                var =(double) 175;
                om.setDistance(var);
     }
            
            
     if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.zaghouan) || om.getDepart().equals(Local.zaghouan) && om.getDest().equals(Local.tunis)) {
                var =(double) 57;
                om.setDistance(var);
     }
        
     if(om.getDepart().equals(Local.tunis) && om.getDest().equals(Local.zarsis) || om.getDepart().equals(Local.zarsis) && om.getDest().equals(Local.tunis)) {
                
        var =(double) 544;
        om.setDistance(var);
     }
            
     if(om.getType().equals(Typetransport.perso)) {
                  cal=(long) (om.getDistance()*2*0.08);
                  om.setCouttranp(cal);
     }
    
     if(om.getType().equals(Typetransport.pubic)) {
                  cal=(long) (om.getDistance()*2*0.375);
                  om.setCouttranp(cal);
     }
              
     if(om.getEtat().equals(Etat.cadre)) {
                 cout=(DaysBetween(om)+1)*25;
                 om.setCoutheberg(cout);
     }
    
     if(om.getEtat().equals(Etat.non_cadre)) {
                 cout=(DaysBetween(om)+1)*20;
                 om.setCoutheberg(cout);
     } else if (om.getCoutheberg() != null && om.getCouttranp()!=null) {
                tot = (double) (om.getCoutheberg()+om.getCouttranp());
                om.setTotal(tot);
     }
    
     return ordermissionrep.save(om);                   
 }

这:entity

@Entity
@Table(name = "ordermission")
public class Ordermission {

@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;

private String mat;

@Enumerated(EnumType.STRING)
private Typetransport type;

@Enumerated(EnumType.STRING)
private Etat etat;

@Enumerated(EnumType.STRING)
private Local depart;

@Enumerated(EnumType.STRING)
private Local dest;
@Temporal(TemporalType.DATE)
private Date datedeb;
@Temporal(TemporalType.DATE)
private Date datefin;

private Double distance;

private Long couttranp;
private Long coutheberg;

// @Formula("couttranp + coutheberg")
private Double total;
java angular hibernate spring-boot nullpointerexception

评论

2赞 Najam Us Saqib 7/10/2019
500 是服务器错误。请检查您的服务器是否工作正常。或重新检查您正在发送的参数。
0赞 Romil Patel 7/10/2019
你好拉尼亚,分享你的控制器
0赞 rania 7/10/2019
我@PatelRomil(控制器和服务)编辑它
0赞 Avi 7/11/2019
好的,从代码中我能看出其中一个似乎是空的,你能添加正文吗attributeOrdermissionRequest
0赞 rania 7/11/2019
我添加了正文@Avi但为什么它适用于 Postman,当它与 Angular 一起通过时,它给了我这个错误

答:

0赞 jspassov 7/10/2019 #1

错误 500(内部服务器错误)有时会显示 CORS 问题。检查服务器是否正确配置为接受 CORS 请求

评论

0赞 rania 7/11/2019
嗨,@jspassov我对 CORS 没有问题,因为我还有其他功能可以正常工作