restful API设计时,注意设计的幂等性。
原理参考: https://www.cnblogs.com/javalyy/p/8882144.html
19. 运行错误:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'springSecurityFilterChain' defined in class path resource [org/springframework/security/config/annotation/web/configuration/WebSecurityConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.servlet.Filter]: Factory method 'springSecurityFilterChain' threw exception; nested exception is java.lang.NoClassDefFoundError: javax/xml/bind/JAXBException
原因如下:
stackoverflow.com/questions/43574426/how-to-resolve-java-lang-noclassdeffounderror-javax-xml-bind-jaxbexception-in-j
可以按帖子里说的,只导入对应的包
<!-- API, java.xml.bind module --> <dependency> <groupId>jakarta.xml.bind</groupId> <artifactId>jakarta.xml.bind-api</artifactId> <version>2.3.2</version> </dependency> <!-- Runtime, com.sun.xml.bind module --> <dependency> <groupId>org.glassfish.jaxb</groupId> <artifactId>jaxb-runtime</artifactId> <version>2.3.2</version> </dependency>
这些包也存在于这些集合包里:
<dependency> <groupId>org.springframework.security.oauth.boot</groupId> <artifactId>spring-security-oauth2-autoconfigure</artifactId> <version>2.2.1.RELEASE</version> </dependency>
其中的版本号自行更新。
20. com.netflix.discovery.shared.transport.TransportException: Cannot execute request on any known server
这里有一个总结: https://blog.csdn.net/u013829202/article/details/84649062
不过对我还是不适用。
然后我参照了官方的例子中的complete: https://spring.io/guides/gs/service-registration-and-discovery/
然后删除client工程里application.yml里的关于eureka的配置:
#eureka:
# client:
# service-url:
# defaultZone: http://localhost:8761/
然后我自己的client就可以注册到官方例子中的euraeka server里了。
21. 明明不用配置eureka,就可以自动注册到服务器里的,为什么我的就是不行呢?
答案: 不要引用
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-netflix-eureka-client</artifactId> </dependency>
而要引用:
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency>
注意两者有个starter的差别。
eureka