java - Spring Cloud : FeignClient feign. FeignException$NotFound:状态 404 阅读 RoomReservationService#getRoomReservationsForDate(字符串)

标签 java spring cloud feign

嗨,我最近用 feign client 和 eureka 学习了 spring cloud,但是在打开我的网络应用程序时遇到了问题,我得到的是

feign.FeignException$NotFound: status 404 reading RoomReservationService#getRoomReservationsForDate(String)

and The error at com.frankmoley.webapp.reservation.ReservationController.getReservations(ReservationController.java:42)

这是我的 RoomReservationService 代码

package com.frankmoley.webapp.reservation.client;

import com.frankmoley.webapp.reservation.domain.Room;
import com.frankmoley.webapp.reservation.domain.RoomReservation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.stereotype.Component;
import org.springframework.stereotype.Repository;
import org.springframework.stereotype.Service;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.List;

/**
 * Created by frankmoley on 5/23/17.
 */

@FeignClient("RESERVATIONBUSINESSSERVICES")
public interface RoomReservationService {

    @RequestMapping(value = "/rooms", method = RequestMethod.GET)
    public List<Room> getAllRooms(@RequestParam(name="roomNumber", required=false)String roomNumber);

    @RequestMapping(value="/roomReservations/{date}", method=RequestMethod.GET)
    public List<RoomReservation> getRoomReservationsForDate(@PathVariable("date") String date);
}

和我的 ReservationController

package com.frankmoley.webapp.reservation;

import com.frankmoley.webapp.reservation.client.RoomReservationService;
import com.frankmoley.webapp.reservation.domain.Room;
import com.frankmoley.webapp.reservation.domain.RoomReservation;

import io.micrometer.core.instrument.util.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Date;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.List;

@Controller
@RequestMapping(value="/reservations")
public class ReservationController {

    private static final DateFormat DATE_FORMAT = new SimpleDateFormat("yyyy-MM-dd");

    private final RoomReservationService roomReservationService;


    @Autowired
    public ReservationController(RoomReservationService roomReservationService){
        super();
        this.roomReservationService = roomReservationService;
    }

    @RequestMapping(method= RequestMethod.GET)
    public String getReservations(@RequestParam(value="date", required=false)String dateString, Model model){
        String date = dateString;
        if(StringUtils.isBlank(dateString)){
            date = this.createTodayDateString();
        }
        List<Room> rooms = this.roomReservationService.getAllRooms("P1");
        List<RoomReservation> roomReservations = this.roomReservationService.getRoomReservationsForDate(date);
        model.addAttribute("roomReservations", roomReservations);
        return "reservations";
    }

    public String createTodayDateString(){
        return DATE_FORMAT.format(new Date());
    }
}

我一直在寻找但找不到答案 请帮助我

最佳答案

由于是 404,因此找不到配置客户端的 url。看起来您需要为 feign 客户端配置 url。配置可以通过应用程序yaml的

来完成

例如 应用程序.yaml

RESERVATIONBUSINESSSERVICES: 
                         url: http:localhost:8080/reservationbusinessservice/

客房预订服务

  @FeignClient(name = "RESERVATIONBUSINESSSERVICES", url = "${RESERVATIONBUSINESSSERVICES.url}", 

关于java - Spring Cloud : FeignClient feign. FeignException$NotFound:状态 404 阅读 RoomReservationService#getRoomReservationsForDate(字符串),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58090776/

相关文章:

java - 简单的 Spring MVC+安全设置

java - graphql-spring-boot 上传二进制文件

尝试通过 id 获取实体时出现 java.lang.NullPointerException

performance - 使用云/分布式计算共享处理器时间 - 可能性和方法

hadoop - 开源云搜索引擎

java - Java 编译器对于类顺序的偏好是什么?

java - "Error:(3, 24) java: package com.badlogic.gdx does not exist",如何解决这个问题?

java - Android:WAITING模拟器在 Mac 中上线时出现超时错误?

java - 如何从变量分配 Spring Model 的列名

azure - 将 ADO.Net EF 连接字符串转换为与 SQL Azure 云连接字符串兼容?