2016-03-24 10 views
0

、クライアント側での列挙値を取得します。私は サーバー側からAngularjsに列挙の値を送信しようとしています

モデル:

public class Consultant implements Serializable { 
    @Enumerated(EnumType.STRING) 
    @Column(name = "etat_qualification") 
    private EtatQualification etatQualification; 

    public EtatQualification getEtatQualification() { 
     return etatQualification; 
    } 

    public void setEtatQualification(EtatQualification etatQualification) { 
     this.etatQualification = etatQualification; 
    } 
} 

public enum EtatQualification { 
    EN_COURS("en cours"), 
    OK("ok"), 
    CONSULTANT_TV("consultant TV"), 
    KO("ko"); 

    private String libelle; 
    EtatQualification(String libelle) { 
     this.libelle = libelle; 

    } 
    public String getLibelle() { 
     return libelle; 
    }  
} 

マイリソース:

@RequestMapping(value = "/consultants/{id}", 
     method = RequestMethod.GET, 
     produces = MediaType.APPLICATION_JSON_VALUE) 
    @Timed 
    public ResponseEntity<Consultant> getConsultant(@PathVariable Long id) { 
     log.debug("REST request to get Consultant : {}", id); 
     Consultant consultant = consultantRepository.findOne(id); 
     return Optional.ofNullable(consultant) 
      .map(result -> new ResponseEntity<>(
       result, 
       HttpStatus.OK)) 
      .orElse(new ResponseEntity<>(HttpStatus.NOT_FOUND)); 
    } 

オンAngularJS側:

var consultant = Consultant.get({id : $stateParams.id}); 

しかし、consultant.etatQualificationの値を見ると「EN_COURS」が表示されます。
私は取得したい: 'en cours'

それは可能ですか?

ありがとうございました。

+0

は、これは私が見つけることができる最も簡単なソリューションです..あなたはこのhttp://stackoverflow.com/a/32723692/3981536に見てください.. –

答えて

1

あなたはJSONパーサー使用としてジャクソンを使用する場合は、この

@JsonFormat(shape = JsonFormat.Shape.OBJECT) 
public enum EtatQualification { ... } 
関連する問題