2017-04-27 5 views
1

問題を特定できません。PostMapping Service Rest Springブートエラーありリクエストメソッド 'POST'はサポートされていません

コントローラ

@RestController("/api") 
public class CoordenadaController { 

    @Autowired private RepositorioCoordenada repositorioCoordenada; 

    @PostMapping("/salvar") 
    public void save(String nome, int coordenadaX, int coordenadaY) { 
     this.repositorioCoordenada.save(new Coordenada(nome, coordenadaX, coordenadaY)); 
     System.out.println("Salvou....."); 
    } 
} 

郵便配達クライアント

URLlocalhost:8080/api/salvar?nome=Igreja&coordenadaX=10&coordenadaY=20

ログエロ郵便配達クライアント

{ 
    "timestamp": 1493257315171, 
    "status": 405, 
    "error": "Method Not Allowed", 
    "exception": "org.springframework.web.HttpRequestMethodNotSupportedException", 
    "message": "Request method 'POST' not supported", 
    "path": "/api/salvar" 
} 

ログのエラー・春

Request method 'POST' not supported 
2017-04-26 22:41:55.168 WARN 8388 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved exception caused by Handler execution: org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported 

あなたは@RestControllerで/ APIを削除した場合@postで注釈付けの方法は、あなたがGETとPOSTを混合している

localhost:8080/salvar?nome=Igreja&coordenadaX=10&coordenadaY=20 
+2

'@RestController @RequestMapping("/api ")'はクラスレベルでは必要ありませんか? – Glenn

+0

ありがとう、それは注意の欠如だった。 – EdeGerSil

+0

あなたの例によるとそれを間違ってしようとしている、あなたは取得しています。あなたが質問パラメタにパラメータを送信していない投稿です。 GETMappingを行うか、@RequestBodyを持つメソッドを修正してください。こちらをご覧くださいhttps://spring.io/guides/gs/rest-service/ –

答えて

0

に動作します。 あなたがPOSTを行いたい場合は次のようにします。その後、

@RestController("/api") 
public class CoordenadaController { 

@Autowired private RepositorioCoordenada repositorioCoordenada; 

@PostMapping("/salvar") 
public void save(@RequestBody Payload payload) { 
    this.repositorioCoordenada.save(new Coordenada(payload.nome, payload.coordenadaX, payload.coordenadaY)); 
    System.out.println("Salvou....."); 
} 

}

public class Payload{ 
String nome, int coordenadaX, int coordenadaY 

//getters & setters 
} 

応じpostmantを使用します、使用POSTメソッドをJSONペイロードを作成して、本体部

に追加

JSONペイロード:あなたがのためにのために春のチュートリアルを確認することができます

{ 
    "nome": "bla bla", 
    "coordenadaX": "1", 
    "coordenadaY": "2" 
} 

さらに詳しい情報:https://spring.io/guides/gs/rest-service/

関連する問題