У меня есть проблема, я хочу получить POJO в сообщении, но я всегда получаю пустой POJO
Вот мой интерфейс:
package com.test.api;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.server.ResponseStatusException;
import com.test.beans.LoginResponse;
import com.test.core.statistics.FGService;
import io.swagger.v3.oas.annotations.parameters.RequestBody;
//
@RequestMapping({"/key", "/key/"})
public interface KeyLoginAPI {
@PostMapping(path = "newkey",consumes = "application/json",produces = "application/json")
public LoginResponse generateKey( @RequestBody(required = true) LoginResponse login) throws ResponseStatusException;
}
Вот мой контроллер, как вернуть pojo:
package com.test.controller;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Component;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.server.ResponseStatusException;
import com.test.api.KeyLoginAPI;
import com.test.beans.LoginResponse;
//import com.test.model.DlsLlaves;
@RestController
public class KeyLoginApiController implements KeyLoginAPI{
@Override
public LoginResponse generateKey(LoginResponse login) throws ResponseStatusException {
return login;
}
private void authenticate(Integer providerid, String key) {
}
}
А вот мой POJO, использующий lombok для геттеров и сеттеров:
package com.test.beans;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@EqualsAndHashCode(callSuper = true)
@Data
@NoArgsConstructor
@AllArgsConstructor
public class LoginResponse extends DefaultResponse{
private String token;
}
, и мой запрос:
POST http://localhost:8080/key/newkey HTTP/1.1
Accept-Encoding: gzip,deflate
Content-Type: application/json
Content-Length: 81
Host: localhost:8080
Connection: Keep-Alive
User-Agent: Apache-HttpClient/4.1.1 (java 1.5)
{
"code": 1,
"message": "message example",
"token": "token example"
}
И это ответ:
HTTP/1.1 200
Content-Type: application/json
Transfer-Encoding: chunked
Date: Fri, 17 Jan 2020 15:02:20 GMT
{"code":null,"message":null,"token":null}
Также я пытаюсь использовать Pojo без ломбок, а также не работает, и я не знаю, как это сделать, я надеюсь, что некоторые могут помочь мне