2016-03-24 4 views
0

Я пытаюсь отправить значение перечисления в Angularjs от стороны сервера:Получить значение Enum на стороне клиента

Модель:

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)); 
    } 

On Угловая сторона JS:

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

Но когда я смотрю advant.etatQualification значение, я получаю «EN_COURS».
Я хочу получить: 'en cours'

Возможно ли это?

Спасибо.

+0

предлагаем вам взглянуть на этот http://stackoverflow.com/a/32723692/3981536 .. это самое простое решение, я мог бы найти .. –

ответ

1

если вы используете Джексону как использование JSON-анализатора это

@JsonFormat(shape = JsonFormat.Shape.OBJECT) 
public enum EtatQualification { ... } 
Смежные вопросы