Метод Springboot 405 не разрешен в Pivotal Web Services / Cloud Foundry, но работает в локальном докере - PullRequest
0 голосов
/ 30 мая 2019

Я создал приложение REST API в SpringBoot, которое имеет метод GET и POST, указывающий на один и тот же URL.Я создал приложение Springboot и развернул его в Docker-контейнере на моей локальной машине.Когда я пытаюсь получить доступ к этому приложению, я могу получить ответ для обоих методов GET и POST.Я развернул это же приложение в Pivotal Web Services (Pivotal Cloud Foundry).Когда я пытаюсь получить доступ к методу GET в PWS, он работает нормально, но когда я пытаюсь получить доступ к методу POST, я получаю сообщение об ошибке.

`"error": "Method Not Allowed",
"message": "Request method 'POST' not supported",`

Если я смотрю на ошибку в журнале PWS,Я мог видеть следующее..w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not supported]

Я пытался изменить код Springboot для включения в метод различных параметров, но ни один из них не работает в PWS.

Я хотел бы видеть 200 OK для метода POST.

@RestController
@RequestMapping("/skus")
public class SKUController {

    private static final String template = "Hello, %s!";
    private final AtomicLong counter = new AtomicLong();



    //==============================================================

    @Autowired
    SKUService skuService; //Service which will do all data retrieval/manipulation work

    // -------------------Retrieve All SKUS---------------------------------------------

    @RequestMapping(value = "/", method = RequestMethod.GET)
    public ResponseEntity<List<SKU>> listAllSKUS() {
        List<SKU> skus  = skuService.listAllSKUS();
        if (skus.isEmpty()) {
            return new ResponseEntity(HttpStatus.NO_CONTENT);
            // You many decide to return HttpStatus.NOT_FOUND
        }
        return new ResponseEntity<List<SKU>>(skus, HttpStatus.OK);
    }


    @RequestMapping(value = "/", method = RequestMethod.POST)
    public ResponseEntity<?> addSKU(@RequestBody SKU sku) {
        try {
            skuService.addSKU(sku);
            return new ResponseEntity<SKU>(sku, HttpStatus.OK);

        }catch(Exception e) {
            return new ResponseEntity("SKU cannot be created", HttpStatus.BAD_REQUEST);
        }
    }
}


````
...