1

I am trying to send the value of an enumeration to Angularjs from Server side :

Model :

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

My resource :

@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 AngularJS side :

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

But when i watch consultant.etatQualification value I get 'EN_COURS'.
I want to get : 'en cours'

Is it possible?

Thanks.

BalusC
  • 1,082,665
  • 372
  • 3,610
  • 3,555
user1260928
  • 3,269
  • 9
  • 59
  • 105
  • suggest you look into this http://stackoverflow.com/a/32723692/3981536 .. this is the easiest solution i could find.. – Jos Mar 24 '16 at 15:10

1 Answers1

1

if you use jackson as json parser use this

@JsonFormat(shape = JsonFormat.Shape.OBJECT)
public enum EtatQualification { ... } 
UKoehler
  • 131
  • 7