Problemas entre domínios
O cabeçalho No'Access-Control-Allow-Origin 'está presente no recurso solicitado. Portanto, o acesso Origin'null' não é permitido. O acesso
entre domínios viola a política de mesma origem!
Mesma origem: mesmo nome de domínio, protocolo e porta.
Política de mesma origem: o Ajax do navegador só pode acessar recursos com o mesmo nome de domínio ou IP de sua página html.
A política de mesma origem é o comportamento do navegador para proteger os dados locais de serem poluídos pelos dados recuperados pelo código JavaScript. Portanto, ele intercepta os dados recebidos da solicitação enviada pelo cliente, ou seja, a solicitação é enviada e o servidor responde, mas não pode ser O navegador recebe.
Solução um:
public static void main(String[] args) {
SpringApplication.run(DemoUaaApplication.class, args);
}
@Bean
public CorsFilter corsFilter() {
final UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
final CorsConfiguration config = new CorsConfiguration();
config.setAllowCredentials(true); // 允许cookies跨域
config.addAllowedOrigin("*");// 允许向该服务器提交请求的URI,*表示全部允许,在SpringMVC中,如果设成*,会自动转成当前请求头中的Origin
config.addAllowedHeader("*");// 允许访问的头信息,*表示全部
config.setMaxAge(18000L);// 预检请求的缓存时间(秒),即在这个时间段里,对于相同的跨域请求不会再预检了
config.addAllowedMethod("*");// 允许提交请求的方法,*表示全部允许
config.addAllowedMethod("HEAD");
config.addAllowedMethod("GET");// 允许Get的请求方法
config.addAllowedMethod("PUT");
config.addAllowedMethod("POST");
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
Solução dois:
Configure na frente da classe: @CrossOgigin (origins = "*", maxAge = 3600)
Solução 3: use o proxy reverso nginx
Mapear url para a mesma fonte
Opção 4: use jsonp
JSONP é um método comum para comunicação de origem cruzada entre servidor e cliente. O maior recurso é a aplicação simples e boa compatibilidade (compatível com versões anteriores do
IE). A desvantagem é que ele suporta apenas solicitações get, não solicitações post.
A ideia central: a página da web solicita dados JSON do servidor adicionando um elemento. Depois que o servidor recebe a solicitação, ele envia os dados de
volta na posição do parâmetro de uma função de retorno de chamada com um nome especificado.
O fundo do Axios não consegue obter os parâmetros passados pelo primeiro plano
axios.post(`http://localhost:8080/brands/insert`, {
name: this.name,
date: new Date()
})
Nós olhamos seu código-fonte assim
if (utils.isObject(data)) {
setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
return JSON.stringify(data);
}
A razão é que axios faz duas coisas quando o parâmetro é Object
- o cabeçalho está definido como application / json; charset = utf-8
- Os parâmetros são Json.stringify,
então você precisa negociar com os parceiros de back-end e usar a classe de entidade para receber
elasticalsearch5 não pode começar
Mensagem de erro
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x0000000085330000, 2060255232, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (mmap) failed to map 2060255232 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/hs_err_pid1.log
Análise de causa
Isso ocorre porque elasticsearch5.0 aloca 2g de espaço jvm por padrão e a memória não é suficiente para alocar.
solução:
Execute o comando para find / -name jvm.options
encontrar o arquivo de configuração de opções de jvm
/var/lib/docker/overlay2/860d339b23854c34f5f1da64d672faf55f8d0d89e4d392f5e6be4c79b907b5aa/diff/usr/share/elasticsearch/config/jvm.options
/var/lib/docker/overlay2/0f5e15a32830359d506b5a58ee079e71a625fb606fc3e5586d00145ec7744d97/diff/etc/elasticsearch/jvm.options
Use o comando vi 文件名
para editar para reduzir o espaço jvm
## JVM configuration
################################################################
## IMPORTANT: JVM heap size
################################################################
##
## You should always set the min and max JVM heap
## size to the same value. For example, to set
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
##
## See https://www.elastic.co/guide/en/elasticsearch/reference/current/heap-size.html
## for more information
##
################################################################
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms1g 改成512m
-Xmx1g 改成512m
################################################################
## Expert settings
################################################################
##
## All settings below this section are considered
## expert settings. Don't tamper with them unless
## you understand what you are doing
##
################################################################
## GC configuration
8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly
O arquivo pom torna-se Ignorado pom.xml
Descrição do Problema:
- Quando o Maven criou o módulo, eu o apaguei porque o módulo não foi construído corretamente por causa do primeiro contato! Criado outro módulo com o mesmo nome que foi excluído antes. No entanto, o arquivo pom.xml Ignorado apareceu.
Solução: - Clique em arquivo -> Configuração -> Compilar, Execução, Implementação -> Ferramentas de Compilação -> Maven -> Arquivos Ignorados para desmarcar
comando npm run
Módulo não encontrado
- [webpack-cli] Erro: Não é possível encontrar o módulo 'xxxxxx'
- npm WARN O package.json local existe, mas falta o node_modules, você pretendia instalar?
- Quando esse problema ocorrer, você pode apenas baixar o módulo, mas não instalá-lo, apenas execute
npm install即可
- Erro: Não é possível encontrar o módulo 'webpack-cli / bin / config-yargs'
- A nova versão do webpack-cli não tem o arquivo config-yargs, então você precisa diminuir a versão do webpack
PageHelper de repente não funciona
solução
No projeto springBoot, você repentinamente descobre que não importa como você verifique, o back-end ainda lança os resultados para você. Neste momento, você pode precisar considerar mudar para um
projeto Maven do pageheler .
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper</artifactId>
<version>版本号</version>
</dependency>
projeto springBoot
<dependency>
<groupId>com.github.pagehelper</groupId>
<artifactId>pagehelper-spring-boot-starter</artifactId>
<version>版本号</version>
</dependency>
Falha ao configurar automaticamente um DataSource
Description:
Failed to auto-configure a DataSource: 'spring.datasource.url' is not specified and no embedded datasource could be auto-configured.
Reason:
Failed to determine a suitable driver class
Action:
Consider the following:
If you want an embedded database (H2, HSQL or Derby), please put it on the classpath.
If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
solução
Solução 1:
configurar no
iniciador @SpringBootApplication (exclude = {DataSourceAutoConfiguration.class})
Solução 2:
modificar o arquivo pom
e adicioná-lo à dependência
<exclusions>
<exclusion>
<!--pom坐标-->
</exclusion>
</exclusions>
Solução 3:
modificar o arquivo de configuração
spring:
autoconfigure:
exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration
Solução 4:
Se você tentou os dois métodos acima e o problema ainda não foi resolvido, você pode adicionar os parâmetros de conexão do banco de dados a ele e levará mais um ano para costurar e consertar
InsatisfeitoDependencyException:
org.springframework.beans.factory. UnsatisfiedDependencyException : Erro ao criar bean com o nome ' brandController ': Dependência não satisfeita expressa por meio do campo 'brandFeign'; a exceção aninhada é org.springframework.beans.factory.BeanCreationException: Erro ao criar bean com o nome ' com.zml.feign.ApiBrandFeign ': FactoryBean lançou exceção na criação do objeto; a exceção aninhada é java.lang.NullPointerException
O que encontrei foi causado pela versão muito baixa do swagger.
Como o 2.2.2 foi usado antes, o problema foi resolvido mudando-o para 2.6.1
[Vue warn]: Falha ao resolver diretiva: xxxx
(encontrado em)
É importante notar que quando usamos comandos personalizados, vamos converter os comandos em minúsculas quando os usarmos. Por exemplo, quando eu defino um comando myFocus e uso v-myFucus, você pode pensar que está certo, mas é Irá reportar um erro Falha ao resolver diretiva: myfocus, podemos ver que a diretiva tornou-se em minúsculas
Erro ao transmitir dados json para o cabeçalho da solicitação de microsserviço
{
"timestamp": "2021-01-07T15:28:39.835+0000",
"status": 415,
"error": "Unsupported Media Type",
"message": "Content type 'application/octet-stream' not supported",
"path": "/brand/query/1/9"
}
Precisa ser alterado para Content-Type = application / json