// on V1 Question look like this:
public class project.domain.Question
{
private String question;
}
// on v2 Question looks like this:
public class project.domain.Question
{
private String question;
private Date creationDate;
}
@Service
public class project.service.QuestionService
{
public long create(Question q) {...};
public Question read(long id) {...};
public void remove(long id) {...};
public void update(Question qd) {...};
}
@Controller
@RequestMapping("/v2/question")
public class project.web.v2.QuestionController
{
@Autowired
project.service.QuestionService questionService;
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public long create(Question q)
{
return questionService.create(q);
}
}
@Controller
@RequestMapping("/v1/question")
public class project.web.v1.QuestionController
{
@Autowired
project.service.QuestionService questionService;
@RequestMapping(method = RequestMethod.POST)
@ResponseBody
public long create(Question q)
{
// this will not work, because the v1 haven't had the 'creationDate' field.
return questionService.create(q);
}
}
REST API的版本化是一个复杂的问题。首先,让我们确定一些版本控制的高级方法:
考虑到这一点,让我们考虑一些目标:(直接从API演进)
语言的设计应该明确地考虑到前向兼容性,客户应该忽略他们不理解的信息。
因此,将信息添加到资源的表示形式并不是不兼容的更改。
这种对语言的扩展/更改可以利用Accept头和内容协商--使用自定义供应商MIME媒体类型对表示进行版本控制。这些文章更深入地讨论了以下内容:API版本控制、REST Web服务版本控制。
其他一些非常有用的资源:
希望这有帮助。
我正在中创建。如果我没有错的话,是,也就是说,它们在内部被转换成servlet。 所以,我只是想知道,所有的服务方法(用注释的方法)都转换成单独的servlet了吗?
问题内容: 我们有一个使用maven配置的Java应用程序,该应用程序使用多个数据库。这是一个应用程序-许多架构。 我已经配置了flyway,已经过测试,并且效果很好,但是我的配置仅适用于一个数据库。 这是我的pom.xml使用一种模式进行测试: 更新:通过使用现在提供的答案,我将以下pom.xml配置为2个模式。 我执行飞行操作,但没有成功,这是我收到的错误: 数据库配置正常。另外,我检查了架构
我们有一个用maven配置的java应用程序,它使用多个数据库。它是一个应用程序——许多模式。 我已经配置了flyway,经过测试,效果很好,但我的配置只针对一个数据库。 这是我的pom。用一种模式测试xml: 更新:通过使用现在提供的答案,我有以下pom。xml配置了两种模式。 我执行了flyway操作,但没有成功,下面是我得到的错误: 数据库配置正常。我还检查了模式是否正常。我缺少什么? 更新
配置代理服务器能干嘛 NEI toolkit 提供了代理服务器的功能,帮助将接口代理到NEI官网或者特定的服务器上 将接口代理到NEI官网 开启该功能只需将server.config.js中的online设为true, 那么对Mock Server的所有请求都将会代理到NEI官网上,该模式也被称为在线模式。 启用在线模式可以减少执行nei update的操作,在频繁更改官网数据的情况下能够大幅加快
我是码头工人和库伯内特斯的新手。使用的技术: < li >点网核心2.2 < li>Asp。NET Core WebAPI 2.2 < li >启用Kubernetes支持的Docker for windows(Edge) < li >代码 我将两个服务托管到两个docker容器容器1和容器2中。 下面是我的部署。yaml 当我运行命令时: 我获得的状态为 。 但是当我只配置了一个容器时,同样运行
我有ApacheTomcatWeb服务器,在这里我运行3-4JavaSpring和hibernate应用程序。但问题是,当有太多请求进入服务器时,服务器会给出内存不足错误或堆大小错误,最后由于服务器没有响应而导致站点关闭。有时还会出现连接错误或套接字错误。我希望我的服务器至少能处理2000个请求。 到现在为止,我用了很多方法来处理这个问题。 通过更改setenv中的大小来增加服务器的堆大小。sh文