首页 > 解决方案 > 在哪里调用 EntityResource 构造函数?

问题描述

我有 2 个实体的 jHipster 项目 - 用户和客户端。客户端具有字段“user_id”,该字段保留创建客户端实体的用户的 user_id。

客户端资源.java

@RestController
@RequestMapping("/api")
public class ClientResource {

    private static final String ENTITY_NAME = "client";
    private final Logger log = LoggerFactory.getLogger(ClientResource.class);
    private final ClientService clientService;

    private final UserService userService;

    private final ClientQueryService clientQueryService;

    public ClientResource(ClientService clientService, ClientQueryService clientQueryService, UserService userService) {
        this.clientService = clientService;
        this.clientQueryService = clientQueryService;
        this.userService = userService;
     }

.....................

@PostMapping("/clients")
@Timed
public ResponseEntity<ClientDTO> createClient(@RequestBody ClientDTO clientDTO) throws URISyntaxException {
    log.debug("REST request to save Client : {}", clientDTO);
    if (clientDTO.getId() != null) {
        throw new BadRequestAlertException("A new client cannot already have an ID", ENTITY_NAME, "idexists");
    }

    String login = SecurityUtils.getCurrentUserLogin().toString();
    Long loggedUserId = userService.getUserWithAuthoritiesByLogin(login).get().getId();

在这里我遇到了异常: com.mycompany.hiptest.web.rest.ClientResource.createClient() 中的异常,原因 = 'NULL' 并且异常 = 'No value present'

java.util.NoSuchElementException:不存在值

我猜是因为我没有初始化 clientService 变量。但是 clientService 是如何获得价值的呢?我没有发现任何对 ClientResource 构造函数的调用。

标签: javarestmodel-view-controllerjhipster

解决方案


推荐阅读