いくつかの開発上の問題

クロスドメインの問題

要求されたリソースに「Access-Control-Allow-Origin」ヘッダーが存在しないため、オリジン「null」はアクセスを許可されません。
クロスドメインアクセスは同一生成元ポリシーに違反します。
同じオリジン:同じドメイン名、プロトコル、およびポート。
同一生成元ポリシー:ブラウザーのAjaxは、HTMLページと同じドメイン名またはIPを持つリソースにのみアクセスできます。
同一生成元ポリシーは、JavaScriptコードによって取得されたデータによってローカルデータが汚染されないように保護するブラウザの動作です。したがって、クライアントから送信されたリクエストから受信したデータをインターセプトします。つまり、リクエストが送信されます。サーバーは応答しますが、ブラウザが受信することはできません。

解決策1:

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);
    }
}

解決策2:

クラスの前で構成します:@CrossOgigin(origins = "*"、maxAge = 3600)

解決策3:nginxリバースプロキシを使用する

URLを同じソースにマップします

オプション4:jsonpを使用する

JSONPは、サーバーとクライアント間のクロスオリジン通信の一般的な方法です。最大の機能は、シンプルなアプリケーションと優れた互換性(
IEの下位バージョンとの互換性)です。欠点は、ポストリクエストではなく、取得リクエストのみをサポートすることです。
コアアイデア:Webページは要素を追加することでサーバーにJSONデータを要求します。サーバーは要求を受信する
と、指定された名前のコールバック関数のパラメーター位置にデータを送り返します。

Axiosバックグラウンドは、フォアグラウンドから渡されたパラメーターを取得できません

axios.post(`http://localhost:8080/brands/insert`, {
    
    
                        name: this.name, 
                        date: new Date()
                    })

私たちは彼のソースコードをこのように見ています

if (utils.isObject(data)) {
    
    
	setContentTypeIfUnset(headers, 'application/json;charset=utf-8');
	return JSON.stringify(data);
}

その理由は、パラメータがObjectの場合、axiosは2つのことを行うためです。

  • ヘッダーはapplication / jsonに設定されます; charset = utf-8
  • パラメータはJson.stringifyである
    ため、バックエンドパートナーとネゴシエートし、エンティティクラスを使用して受信する必要があります

elasticalsearch5を開始できません

エラーメッセージ

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

原因分析

これは、elasticsearch5.0がデフォルトで2gのjvmスペースを割り当て、メモリが割り当てに十分でないためです。

解決:

コマンドを実行してfind / -name jvm.options、jvmのオプション構成ファイル見つけます

/var/lib/docker/overlay2/860d339b23854c34f5f1da64d672faf55f8d0d89e4d392f5e6be4c79b907b5aa/diff/usr/share/elasticsearch/config/jvm.options
/var/lib/docker/overlay2/0f5e15a32830359d506b5a58ee079e71a625fb606fc3e5586d00145ec7744d97/diff/etc/elasticsearch/jvm.options

コマンドvi 文件名使用して編集し、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

pomファイルは無視されたpom.xmlになります

問題の説明:

  • Mavenがモジュールを作成したとき、最初の連絡のためにモジュールが正しくビルドされなかったため、モジュールを削除しました。以前に削除されたのと同じ名前で別のモジュールを作成しました。ただし、無視されたpom.xmlファイルがポップアップしました。
    解決策:
  • [ファイル]-> [設定]-> [ビルド、実行、展開]-> [ビルドツール]-> [Maven]-> [無視されたファイル]をクリックして、チェックを外します

npmrunコマンド

モジュールが見つかりません

  1. [webpack-cli]エラー:モジュール 'xxxxxx'が見つかりません
  • npm WARNローカルpackage.jsonは存在しますが、node_modulesがありません。インストールするつもりでしたか?
  • この問題が発生した場合は、モジュールをダウンロードするだけで、インストールせずに実行することができます。npm install即可
  1. エラー:モジュール 'webpack-cli / bin / config-yargs'が見つかりません
  • 新しいバージョンのwebpack-cliにはconfig-yargsファイルがないため、webpackのバージョンを下げる必要があります

PageHelperが突然機能しない

解決

springBootプロジェクトでは、どのようにチェックしても、バックエンドが結果をスローすることに突然気付きます。現時点では、ページヘラー
Mavenプロジェクトへの変更を検討する必要があるかもしれません

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper</artifactId>
    <version>版本号</version>
</dependency>

springBootプロジェクト

<dependency>
    <groupId>com.github.pagehelper</groupId>
    <artifactId>pagehelper-spring-boot-starter</artifactId>
    <version>版本号</version>
</dependency>

データソースの自動構成に失敗しました

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).

解決

解決策1:ランチャーで
構成する
@SpringBootApplication(exclude = {DataSourceAutoConfiguration.class})
解決策2:
pomファイル
変更し、依存関係に追加する

<exclusions>
	<exclusion>
		<!--pom坐标-->
	</exclusion>
</exclusions>

解決策3:
構成ファイルを変更する

spring:
	autoconfigure:
		exclude: org.springframework.boot.autoconfigure.jdbc.DataSourceAutoConfiguration

解決策4:
上記の両方の方法を試しても問題がまだ解決されていない場合は、データベース接続パラメーターを彼に追加できます。縫製と修復にはさらに1年かかります。

UnsatisfiedDependencyException:

org.springframework.beans.factory。UnsatisfiedDependencyException:名「を持つBean作成中にエラーが発生しましbrandController」:フィールド『brandFeign』を通して表現不満の依存関係を、ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:「com.zml.feign.ApiBrandFeignという名前のBeanの作成中にエラーが発生しました:FactoryBeanがオブジェクトの作成時に例外をスローしました。ネストされた例外はjava.lang.NullPointerExceptionです

私が遭遇したのは、Swaggerのバージョンが低すぎることが原因でした。
以前は2.2.2を使用していたため、2.6.1に変更することで問題を解決しました。

[Vue警告]:ディレクティブの解決に失敗しました:xxxx

(にあります)
カスタムコマンドを使用する場合、コマンドを使用するときにコマンドを小文字に変換することに注意してください。たとえば、myFocusコマンドを定義してv-myFucusを使用する場合、それは正しいと思うかもしれませんが、エラーを報告しますディレクティブの解決に失敗しました:myfocus、ディレクティブが小文字になっていることがわかります

jsonデータをマイクロサービスリクエストヘッダーに送信中にエラーが発生しました

{
    
    
    "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"
}

Content-Type = application / jsonに変更する必要があります

おすすめ

転載: blog.csdn.net/BrightZhuz/article/details/112995119