2017-11-12 12 views
1

を返します:ジャージーサーバー:私は次のメソッドを持っている文字列と非200リターンコード

@GET 
@Path("/myFunc") 
public String myFunc(@QueryParam("input") String input) { 
    if (! input.startsWith("123")) { 
     return "Usage error: input must start with '123'"; 
    } 
    return "Success"; 
} 

問題は、私は、文字列"Usage error: input must start with '123'"を返す際に、論理的に、戻りコードは200どのようなことです私はそれを変更して、戻りコードを400に変更しながら文字列を返すことができるようにします。

答えて

4

あなたはこのような場合のためにjavax.ws.rs.core.Responseタイプを使用することができます - これらの線に沿ってSTH:

@GET 
@Path("/myFunc") 
public Response myFunc(@QueryParam("input") String input) { 
    if (! input.startsWith("123")) { 
     return Response.status(Status.BAD_REQUEST) 
         .entity("Usage error: input must start with '123'") 
         .build(); 
    } 
    return Response.ok("Success").build(); 
} 
+0

を私はあなたのコードの最後の行に ')(' .buildを追加しました。あなたの応答はポイントと完璧でした(非常に非常に有用!)、ありがとう! – SomethingSomething

関連する問題