当前位置: 首页 > 知识库问答 >
问题:

Springboot REST API不返回带有简单GET请求的JSON

湛功
2023-03-14

我是Java和Springboot的新手。尝试使用一个参数terminalId(字符串)实现一个简单的get请求。

@RestController
@RequestMapping("/api/private/v1")
public class TransactionController {

    private TransactionService<TransactionResponse> transactionService;

    public TransactionController(TransactionyService<TransactionResponse> transactionService) {
        this.transactionService = transactionService;
    }

    @CrossOrigin(origins = "http://localhost:4200")
    @GetMapping(value = "/transactions")
    public List<TransactionResponse> retrieveTransactions(){
        return transactionService.findAll();
    }

    @CrossOrigin(origins = "http://localhost:4200")
    @GetMapping(value = "transactions/{terminalId}")
    public List<TransactionResponse> retrieveByTerminalId(
            @PathVariable String terminalId) {
        if (terminalId != null) {
            return transactionService.findByTerminalId((terminalId));
//            @ResponseStatus(HttpStatus.OK)
        } else {
            return null;
        }

    }
}

    List<T> findAll();

    List<T> findByTerminalId(String terminalId);

    T save(T object);
}
@Service
public class TransactionServiceImpl implements TransactionService<TransactionResponse> {

    protected List<TransactionResponse> transactionResponseList = new ArrayList<>();

    @Override
    public List<TransactionResponse> findAll() {
        return transactionResponseList;
    }

    @Override
    public List<TransactioResponse> findByTerminalId(String terminalId) {
        return transactionResponseList;
    }

    @Override
    public TransactionResponse save(TransactionResponse object) {

        if(null != object){
            transactionResponseList.add(object);
        }
        return object;
    }
}
@Component
public class TransactionBootstrap implements CommandLineRunner {

    private TransactionService<TransactionResponse> transactionService;

    public TransactionBootstrap(TransactionService<TransactionResponse> transactionService) {
        this.transactionService = transactionService;
    }

    @Override
    public void run(String... args) throws Exception {
        loadData();
    }

    private void loadData() {

        TransactionResponse response1 = new TransactionResponse("111", LocalDateTime.now(), LocalDateTime.now());

        TransactionResponse response2 = new TransactionResponse("222", LocalDateTime.now(), LocalDateTime.now(),);



        transactionService.save(response1);
        transactionService.save(response2);

    }
}

我完全迷路了。

共有1个答案

夏侯野
2023-03-14

您错过了/in@getmapping(value=“transactions/{terminalId}”)

写@getmapping(value=“/transactions/{terminalId}”)

 类似资料:
  • 我是SNMP新手,我正在尝试使用SNMP操作,我正在使用http://techdive.in/snmp/snmp4j-snmp-get-example代码,但我无法获得预期的输出。我得到如下空响应: SNMP获取演示正在向代理发送请求。。。从代理Snmp获取响应获取响应=[1.3.6.1.2.1.1.1.0=Null] 当我试图为MIB RFC 1213的OID获取sysDescr时,预期的输出应

  • 问题内容: 将请求正文与GET请求一起传递是否违反REST风格? 例如在Elasticsearch中过滤一些信息 甚至设计了一些工具来避免GET请求中的请求主体(例如邮递员) 问题答案: 从RFC: GET请求消息中的有效负载没有定义的语义。在GET请求上发送有效内容正文可能会导致某些现有实现拒绝该请求。 换句话说,这不是禁止的,但是它是未定义的行为,应避免使用。HTTP客户端,服务器和代理可以随

  • 我正在尝试对远程服务器进行api调用,最初,我遇到以下错误:

  • 问题内容: 在swift 3中建议使用带参数的GET的哪种方法? 范例: 提前致谢 ! 问题答案: 示例如何使用请求。

  • 我正试图通过Axios从Azure AD获取一个包含表单数据的post请求的图形令牌。响应抛出错误请求失败,状态代码为404。下面是代码, 邮寄请求在邮递员中工作正常。如果从Axios请求中删除了body FormData,则Axios中的响应也符合预期。当body FormData添加到请求时,我遇到一个错误。 AXIOS错误:请求失败,状态代码404

  • 当我尝试向Activiti REST URL发送GET请求时,使用POSTMAN并配置授权参数(kermit:kermit),它就像一个符咒。 但是当我尝试做同样的事情时,只使用Angular$超文本传输协议服务,它返回以下错误: 无法加载XMLHttpRequesthttp://localhost:8080/activiti-rest/service/repository/deployments