Spring Webflux: необязательный RequestPart / RequestParam все еще требуется? - PullRequest
0 голосов
/ 10 октября 2018

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

@RestController
@RequestMapping("/service")
class MyController {
    @PostMapping
    fun print(@RequestPart("name", required = false) name: String) {
        if (name != null)
            print(name)
        else
            print("grr")
    }
}

Если я предоставлю параметр nameв моем запросе он больше точно не висит в почтальоне, запрос проходит.Но я ожидал, что это все равно произойдет, если я не предоставлю параметр name и выведу «grr».

Это обязательное свойство не работает должным образом (по крайней мере, на мой взгляд), проверяется при добавлении другогопредположительно необязательное свойство.

@RestController
@RequestMapping("/service")
class MyController {
    @PostMapping
    fun print(@RequestPart("name", required = false) name: String,
              @RequestPart("friend_name", required = false) friendsName: String) {
        if (name != null)
            print(name)
        else
            print("grr")
    }
}

Теперь, когда я предоставляю параметр name, но не friend_name, он говорит, что значение не может быть нулевым.

{
    "timestamp": "2018-10-10T09:50:49.305+0000",
    "path": "/service",
    "status": 500,
    "error": "Internal Server Error",
    "message": "Parameter specified as non-null is null: method co.example.controllers.MyController.print, parameter friendsName"
}

Я пробовал то же самоедля @RequestParam и @RequestPart с одинаковыми результатами.

1 Ответ

0 голосов
/ 10 октября 2018

Отметьте ваши необязательные параметры как обнуляемые.Поэтому:

@RequestPart("name", required = false) name: String?
@RequestPart("friend_name", required = false) friendsName: String?
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...