2023年11月10日 星期五
2023年10月31日 星期二
cors
報錯問題如下
Access to XMLHttpRequest at 'http://localhost:63110/system/dictionary/all' from origin 'http://localhost:8601' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource.
從http://localhost:8601訪問http://localhost:63110/system/dictionary/all被CORS policy阻止,因為沒有Access-Control-Allow-Origin 頭信息。CORS全稱是 cross origin resource share 表示跨域資源共享。
出這個提示的原因是基於瀏覽器的同源策略,去判斷是否跨域請求,同源策略是瀏覽器的一種安全機制,從一個地址請求另一個地址,如果協議、主機、端口三者全部一致則不屬於跨域,否則有一個不一致就是跨域請求。
比如:
從http://localhost:8601 到 http://localhost:8602 由於端口不同,是跨域。
從http://192.168.101.10:8601 到 http://192.168.101.11:8601 由於主機不同,是跨域。
從http://192.168.101.10:8601 到 https://192.168.101.10:8601 由於協議不同,是跨域。
註意:服務器之間不存在跨域請求。
瀏覽器判斷是跨域請求會在請求頭上添加origin,表示這個請求來源哪裏。
比如:
Origin: http://localhost:8601
Access-Control-Allow-Origin:*
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.cors.CorsConfiguration;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.CorsFilter;
/**
* @description: 跨域過慮器
* @author: Ian Wang
* @date: 2023/10/31 上午 10:38
* @version: 1.0
*/
@Configuration
public class GlobalCorsConfig {
/**
* 允許跨域調用的過濾器
*/
@Bean
public CorsFilter corsFilter() {
CorsConfiguration config = new CorsConfiguration();
//允許白名單域名進行跨域調用
config.addAllowedOrigin("*");
//允許跨越發送cookie
config.setAllowCredentials(true);
//放行全部原始頭信息
config.addAllowedHeader("*");
//允許所有請求方法跨域調用
config.addAllowedMethod("*");
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
source.registerCorsConfiguration("/**", config);
return new CorsFilter(source);
}
}
2023年10月28日 星期六
使用idea運作vue專案
首先先用idea打開一個vue專案
配置一下nodejs及npm路徑
在專案中找到package.json
這個相當於maven專案的pom文件, 用來管理前端的依賴
在上面點取Show npm Scripts
就能看到以下視窗
點serve右鍵 Run serve
(在run 之前須在專案根目錄打npm run install 不然會報
vue-cli-service不是内部或外部命令)
只要出現以下畫面說明啟動成功
就可以打開瀏覽器看一下~~
專案中node_modules本身相當於maven本地倉庫
裡面都是依賴的包, 刪除後 重新編譯, 他也會自動下載
2023年10月26日 星期四
使用httpclient
在idea可下載工具中有httpclient
其功用很像是postman或是swagger
他的功用上, 一方面能保存測試數據, 另外一方面又比postman吃的資源少
同時因其在idea裡面, 使用上還算方便
下列簡略介紹
可以創一個資料夾專門放這些測試
裡面命名用.http結尾, 內容為以下
需要有content type, 然後~格一行可以寫requestbody
點選綠色箭頭就可以run
另外一部分可以設置環境變數, 像{{content_host}}
然後創建一個env檔案ex http-client.env.json
然後內容
{
"dev": {
"access_token": "",
"gateway_host": "localhost:63010",
"content_host": "localhost:63040",
"system_host": "localhost:63110",
"media_host": "localhost:63050",
"search_host": "localhost:63080",
"auth_host": "localhost:63070",
"checkcode_host": "localhost:63075",
"learning_host": "localhost:63020"
}
}
這樣就可以選run with 'dev' environment
2023年10月24日 星期二
從資料庫產生entity&mapper
2023年10月17日 星期二
全局date time
當回應的日期格式中有T還有毫秒的時候
或許我們會思考如何改它的格式
有一個方法, 可以做全局的統一
@Configuration
public class LocalDateTimeConfig {
/*
* 序列化内容
* LocalDateTime -> String
* 服务端返回给客户端内容
* */
@Bean
public LocalDateTimeSerializer localDateTimeSerializer() {
return new LocalDateTimeSerializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
/*
* 反序列化内容
* String -> LocalDateTime
* 客户端传入服务端数据
* */
@Bean
public LocalDateTimeDeserializer localDateTimeDeserializer() {
return new LocalDateTimeDeserializer(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"));
}
// 配置
@Bean
public Jackson2ObjectMapperBuilderCustomizer jackson2ObjectMapperBuilderCustomizer() {
return builder -> {
builder.serializerByType(LocalDateTime.class, localDateTimeSerializer());
builder.deserializerByType(LocalDateTime.class, localDateTimeDeserializer());
};
}
}
透過上面的方式, 就能統一格式
結果:
2023年8月11日 星期五
linux note-2
分辨文件 文件夾
ls -l
其中d開頭為文件夾, -開頭為文件
cat 支持看文件
但是當文件太長的時候, 變得難以閱讀
ex
cat /etc/services
而 翻頁查看 可以方便看長文件
ex
more /etc/services
翻頁 按 空白鍵
退出 按 q
小結
1. touch命令
用于创建一个新的文件
语法:touch linux 路徑
参数必填,表示要创建的文件的路径,相对、绝对、特殊路径符都可以使用
2. cat命令
用于查看文件内容
语法:cat linux 路徑
参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
3. more命令
用于查看文件内容,可翻页查看
语法:more linux路徑
参数必填,表示要查看的文件的路径,相对、绝对、特殊路径符都可以使用
使用空格进行翻页,使用q退出查看
2026半年度目標
1 每個月看看能不能都做專案, 一年12專案 2 刷題每周4題 3 跑個人scrum, 並組讀書會 4規律讀英文ex每天早上8:30-9:30 5規律運動7:35-8:30 6減肥97->85 這是今年年初的目標, 有刷一點題, 但是差不多三月初AI大爆發, 不得不開始接...
-
考題: 實作一個演算法來判斷一個字串中的字元是否不重複. 如果不能使用其他資料結構怎麼辦? 思維:假設字元有128個, 每一個都有特殊的數字, 因此~ 1 造一個布林陣列 2 跑迴圈, 當遇到新的字元數字, 布林陣列[數字] 改為true 3 下一次再來, 如果發現其布林陣列[數...
-
SpiringBoot 配置文件 除了可以使用application.properties外 還可以使用application.yml 而以前的配置文件大多是使用xxxx.xml文件 YAML: 以數據為中心, 比json, xml更適合用來做配置文件 舉例: ...
-
這是使用Spring boot 建立資料庫連線遇到的問題 解決方法 在後方加入 ?serverTimezone=UTC 如果要解決中文亂碼問題 也可以加入 ?useUnicode=true&characterEncoding=UTF-8 合起來可以 ?useUnicod...