Spring Boot - API - POST

Spring Boot - API - POST
SM
  • Rejestracja:prawie 6 lat
  • Ostatnio:ponad 5 lat
  • Postów:10
0

Hej,

Zaczynam zabawę z tworzeniem własnego API i mam pytanie odnośnie metody POST.
Ogólnie umiem stworzyć zapytanie i wszystko hula ALE tylko w przypadku gdy robie zapytanie "raw" tak jak poniżej:
{
"id": 10,
"name": "Test10",
"desc": "Desc10"
}
ale chciałbym też być w stanie tworzyć je w formacie form-data:

screenshot-20190901123312.png

co powinienem dodac/zmienic żeby również w tej formie to działało ?

KOD Z API:


package API;

import model.Article;
import org.springframework.web.bind.annotation.*;

import java.util.ArrayList;
import java.util.List;
import java.util.Optional;

@RestController
@RequestMapping("/api/article")
public class ArticleAPI {

private List<Article> articleList;

public ArticleAPI(){
    articleList = new ArrayList<>();
    articleList.add(new Article(1, "Test1", "Desc1"));
    articleList.add(new Article(2, "Test2", "Desc2"));
    articleList.add(new Article(3, "Test3", "Desc3"));
}

@GetMapping("/all")
public List<Article> getAll(){
    return articleList;
}

@GetMapping
public Article getById(@RequestParam int index){
    Optional<Article> first = articleList.stream().filter(element -> element.getId() == index).findFirst();
    return first.get();
}

@PostMapping()
public boolean addVideo(@RequestBody Article article){
    return articleList.add(article);
}

@PutMapping
public boolean updateVideo(@RequestBody Article article){
    return articleList.add(article);
}

@DeleteMapping
public boolean deleteVideo(@RequestParam int index){
    return articleList.removeIf(element -> element.getId() == index);

}

}


package model;

public class Article {

private int id;
private String name;
private String desc;

public Article(int id, String name, String desc) {
    this.id = id;
    this.name = name;
    this.desc = desc;
}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

public void setName(String name) {
    this.name = name;
}

public String getDesc() {
    return desc;
}

public void setDesc(String desc) {
    this.desc = desc;
}

}

edytowany 1x, ostatnio: sMarkowki
OtoKamil
  • Rejestracja:około 10 lat
  • Ostatnio:około rok
  • Postów:143
0

chciałbym też być w stanie tworzyć je w formacie form-data:

Tylko po co? Formularz też można wysłać jsonem.
Jeśli już bardzo musisz (i zaczynasz przygodę ze springiem) to polecam tutoriale, które są na ich stronie bo dla twojego przypadku też jest tutorial:
https://spring.io/guides/gs/handling-form-submission/

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.