I have to create an application with Jhipster but i never use it before.
When a user send a GET request to the address http://localhost:8080/api/newmesure/{mac-address}/{value}
I want to insert a new mesure in my database.
First i created 3 entity "Plantes", "Capteurs" and "Mesures" with this format :
Image here : https://i.stack.imgur.com/zJqia.png (I'm not allowed to post)
I activated the JPA Filtering to create a @Query to insert data in my database but i read that was not possible.
In /src/main/java/com/mycompany/myapp/web/rest/MesuresRessources.java :
/**
 * REST controller for managing {@link com.mycompany.myapp.domain.Mesures}.
 */
@RestController
@RequestMapping("/api")
public class MesuresResource {
    private final Logger log = LoggerFactory.getLogger(MesuresResource.class);
    private static final String ENTITY_NAME = "mesures";
    @Value("${jhipster.clientApp.name}")
    private String applicationName;
    private final MesuresService mesuresService;
    private final MesuresQueryService mesuresQueryService;
    public MesuresResource(MesuresService mesuresService, MesuresQueryService mesuresQueryService) {
        this.mesuresService = mesuresService;
        this.mesuresQueryService = mesuresQueryService;
    }
    @GetMapping("/newMesure/{mac}/{value}")
    public String newMesure(@PathVariable String mac,@PathVariable int value) {
      log.debug("Adresse MAC : "+mac);
      log.debug("Valeur : "+value);
      @Query("SELECT valeur FROM Mesures WHERE id = 1") //not working
      Mesures getValeur(); //not working
      return "Mesure ajoutée";
    }
}
In /src/main/java/com/mycompany/myapp/domain/Mesures.java :
/**
 * A Mesures.
 */
@Entity
@Table(name = "mesures")
public class Mesures implements Serializable {
    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    @Column(name = "valeur")
    private Integer valeur;
    @ManyToOne(optional = false)
    @NotNull
    @JsonIgnoreProperties("macs")
    private Capteurs mac;
    // jhipster-needle-entity-add-field - JHipster will add fields here, do not remove
    public Long getId() {
        return id;
    }
    public void setId(Long id) {
        this.id = id;
    }
    public Integer getValeur() {
        return valeur;
    }
    public Mesures valeur(Integer valeur) {
        this.valeur = valeur;
        return this;
    }
    public void setValeur(Integer valeur) {
        this.valeur = valeur;
    }
    public Capteurs getMac() {
        return mac;
    }
    public Mesures mac(Capteurs capteurs) {
        this.mac = capteurs;
        return this;
    }
    public void setMac(Capteurs capteurs) {
        this.mac = capteurs;
    }
    // jhipster-needle-entity-add-getters-setters - JHipster will add getters and setters here, do not remove
    @Override
    public boolean equals(Object o) {
        if (this == o) {
            return true;
        }
        if (!(o instanceof Mesures)) {
            return false;
        }
        return id != null && id.equals(((Mesures) o).id);
    }
    @Override
    public int hashCode() {
        return 31;
    }
    @Override
    public String toString() {
        return "Mesures{" +
            "id=" + getId() +
            ", valeur=" + getValeur() +
            "}";
    }
}
Louan
 
     
    