$lang['tuto'] = "ਟਿ utorial ਟੋਰਿਅਲਸ"; ?> ਫਿਕਸਿੰਗ ਪ੍ਰਤੀਕਿਰਿਆ

ਫਿਕਸਿੰਗ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ CORS ਮੁੱਦੇ: ਬਲਾਕ ਕੀਤੀ GET ਬੇਨਤੀ

Temp mail SuperHeros
ਫਿਕਸਿੰਗ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ CORS ਮੁੱਦੇ: ਬਲਾਕ ਕੀਤੀ GET ਬੇਨਤੀ
ਫਿਕਸਿੰਗ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ CORS ਮੁੱਦੇ: ਬਲਾਕ ਕੀਤੀ GET ਬੇਨਤੀ

ਸਪਰਿੰਗ ਬੂਟ ਅਤੇ ਰੀਐਕਟ ਐਪਸ ਵਿੱਚ CORS ਗਲਤੀਆਂ ਨੂੰ ਸਮਝਣਾ

ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ ਵੈਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਦਾ ਵਿਕਾਸ ਕਰਦੇ ਸਮੇਂ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ ਫਰੰਟਐਂਡ ਲਈ ਅਤੇ ਬਸੰਤ ਬੂਟ ਬੈਕਐਂਡ ਲਈ, ਡਿਵੈਲਪਰਾਂ ਦਾ ਸਾਹਮਣਾ ਕਰਨ ਵਾਲੀ ਇੱਕ ਆਮ ਸਮੱਸਿਆ ਬਦਨਾਮ CORS ਗਲਤੀ ਹੈ। ਇਹ ਤਰੁੱਟੀ ਉਦੋਂ ਵਾਪਰਦੀ ਹੈ ਜਦੋਂ ਬ੍ਰਾਊਜ਼ਰ ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ ਕਿਸੇ ਬੇਨਤੀ ਨੂੰ ਬਲੌਕ ਕਰਦਾ ਹੈ, ਖਾਸ ਕਰਕੇ ਜਦੋਂ ਕਿਸੇ ਵੱਖਰੇ ਪੋਰਟ ਜਾਂ ਡੋਮੇਨ 'ਤੇ ਹੋਸਟ ਕੀਤੀ ਬੈਕਐਂਡ ਸੇਵਾ ਨਾਲ ਜੁੜਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਤੁਸੀਂ ਇੱਕ ਬਣਾਉਣ ਵੇਲੇ ਇੱਕ CORS ਮੁੱਦੇ ਨਾਲ ਨਜਿੱਠ ਰਹੇ ਹੋ ਬੇਨਤੀ ਪ੍ਰਾਪਤ ਕਰੋ ਪ੍ਰਤੀਕਿਰਿਆ ਤੋਂ ਇੱਕ ਸਪਰਿੰਗ ਬੂਟ API ਤੱਕ।

ਗਲਤੀ ਸੁਨੇਹਾ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਤੁਹਾਡੀ ਬੇਨਤੀ ਨੂੰ ਬਲੌਕ ਕਰ ਰਿਹਾ ਹੈ ਕਿਉਂਕਿ ਪਹੁੰਚ-ਨਿਯੰਤਰਣ-ਮਨਜ਼ੂਰ-ਮੂਲ ਸਿਰਲੇਖ ਜਾਂ ਤਾਂ ਗੁੰਮ ਹੈ ਜਾਂ ਗਲਤ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹ ਧਿਆਨ ਦੇਣ ਯੋਗ ਹੈ ਕਿ ਸਾਧਨ ਜਿਵੇਂ ਪੋਸਟਮੈਨ ਇਹਨਾਂ ਸੁਰੱਖਿਆ ਪਾਬੰਦੀਆਂ ਨੂੰ ਲਾਗੂ ਨਾ ਕਰੋ, ਜਿਸ ਕਾਰਨ ਤੁਹਾਡੀ ਬੇਨਤੀ ਪੋਸਟਮੈਨ ਵਿੱਚ ਪੂਰੀ ਤਰ੍ਹਾਂ ਕੰਮ ਕਰ ਸਕਦੀ ਹੈ ਪਰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਅਸਫਲ ਹੋ ਸਕਦੀ ਹੈ।

ਤੁਹਾਡੇ ਦ੍ਰਿਸ਼ ਵਿੱਚ, ਗਲਤੀ ਸੁਨੇਹਾ ਇਹ ਦਰਸਾਉਂਦਾ ਹੈ ਕਿ ਇੱਕ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀ ਐਕਸੈਸ ਕੰਟਰੋਲ ਜਾਂਚ ਨੂੰ ਪਾਸ ਨਹੀਂ ਕਰਦੀ ਹੈ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਸਰਵਰ ਦੀ CORS ਨੀਤੀ ਵਿੱਚ ਕੁਝ ਸਿਰਲੇਖਾਂ ਜਾਂ ਵਿਧੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਨਹੀਂ ਹੁੰਦੀ ਜਾਂ ਸਹੀ ਢੰਗ ਨਾਲ ਕੌਂਫਿਗਰ ਨਹੀਂ ਕੀਤੀ ਜਾਂਦੀ। ਜਦੋਂ ਕਿ CORS ਕੌਂਫਿਗਰੇਸ਼ਨ ਸਰਵਰ ਸਾਈਡ 'ਤੇ ਮੌਜੂਦ ਜਾਪਦੀ ਹੈ, ਇਸ ਨਾਲ ਬ੍ਰਾਊਜ਼ਰ ਬੇਨਤੀਆਂ ਨੂੰ ਕਿਵੇਂ ਹੈਂਡਲ ਕੀਤਾ ਜਾਂਦਾ ਹੈ ਇਸ ਨਾਲ ਖਾਸ ਮੁੱਦੇ ਹੋ ਸਕਦੇ ਹਨ।

ਇਹ ਲੇਖ ਸਮੱਸਿਆ ਦੇ ਮੂਲ ਕਾਰਨ ਨੂੰ ਸਮਝਣ ਵਿੱਚ ਤੁਹਾਡੀ ਮਦਦ ਕਰੇਗਾ ਅਤੇ ਇਸ ਨੂੰ ਹੱਲ ਕਰਨ ਲਈ ਸੰਭਵ ਹੱਲਾਂ ਬਾਰੇ ਤੁਹਾਡੀ ਅਗਵਾਈ ਕਰੇਗਾ CORS ਗੜਬੜ ਤੁਹਾਡੀ ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨ ਵਿੱਚ।

ਹੁਕਮ ਵਰਤੋਂ ਦੀ ਉਦਾਹਰਨ
@WebMvcConfigurer ਇੱਕ ਸਪਰਿੰਗ ਬੂਟ ਐਨੋਟੇਸ਼ਨ ਵੈੱਬ ਸੈਟਿੰਗਾਂ ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ ਜਿਵੇਂ ਕਿ CORS, ਇੰਟਰਸੈਪਟਰ, ਅਤੇ ਫਾਰਮੈਟਰਾਂ। ਇਸ ਮੁੱਦੇ ਦੇ ਸੰਦਰਭ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ CORS ਮੈਪਿੰਗ ਨਿਯਮਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ ਜੋ ਖਾਸ ਮੂਲ ਅਤੇ ਤਰੀਕਿਆਂ ਦੀ ਆਗਿਆ ਦਿੰਦੇ ਹਨ।
allowedOrigins() ਇਹ ਵਿਧੀ CORS ਸੰਰਚਨਾ ਦਾ ਹਿੱਸਾ ਹੈ ਅਤੇ ਇਹ ਦੱਸਦੀ ਹੈ ਕਿ ਸਰਵਰ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਲਈ ਕਿਹੜੇ ਮੂਲ ਦੀ ਇਜਾਜ਼ਤ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ 'http://localhost:8081' 'ਤੇ ਚੱਲ ਰਿਹਾ ਫਰੰਟਐਂਡ ਬੈਕਐਂਡ ਨਾਲ ਸੰਚਾਰ ਕਰ ਸਕਦਾ ਹੈ।
withCredentials() ਇੱਕ Axios ਕੌਂਫਿਗਰੇਸ਼ਨ ਜੋ ਕ੍ਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਨੂੰ ਕੁਕੀਜ਼ ਅਤੇ HTTP ਪ੍ਰਮਾਣੀਕਰਨ ਵਰਗੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲ ਸ਼ਾਮਲ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੀ ਹੈ। ਸੁਰੱਖਿਅਤ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਵੇਲੇ ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਿਨ੍ਹਾਂ ਨੂੰ ਉਪਭੋਗਤਾ-ਵਿਸ਼ੇਸ਼ ਡੇਟਾ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ।
MockMvcRequestBuilders.options() ਸਪਰਿੰਗ ਬੂਟ ਦੇ MockMvc ਫਰੇਮਵਰਕ ਵਿੱਚ ਇੱਕ ਵਿਧੀ ਜੋ ਇੱਕ HTTP ਵਿਕਲਪ ਬੇਨਤੀ ਦੀ ਨਕਲ ਕਰਨ ਲਈ ਵਰਤੀ ਜਾਂਦੀ ਹੈ। ਇਹ ਆਮ ਤੌਰ 'ਤੇ CORS ਵਿੱਚ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣ ਲਈ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ, ਅਸਲ ਬੇਨਤੀ ਭੇਜਣ ਤੋਂ ਪਹਿਲਾਂ ਸਰਵਰ ਅਨੁਮਤੀ ਦੀ ਜਾਂਚ ਕਰਦੇ ਹੋਏ।
HttpHeaders.ORIGIN ਇਹ ਸਿਰਲੇਖ ਬੇਨਤੀ ਦੇ ਮੂਲ ਨੂੰ ਦਰਸਾਉਣ ਲਈ CORS ਵਿੱਚ ਵਰਤਿਆ ਜਾਂਦਾ ਹੈ। ਇੱਕ ਅੰਤਰ-ਮੂਲ ਦ੍ਰਿਸ਼ ਵਿੱਚ, ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਕਿ ਕੀ ਮੂਲ ਦੀ ਇਜਾਜ਼ਤ ਹੈ, ਇਹ ਫਰੰਟਐਂਡ ਤੋਂ ਸਰਵਰ ਨੂੰ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ।
MockMvcResultMatchers.header() ਇਹ ਜਵਾਬ ਵਿੱਚ ਖਾਸ HTTP ਸਿਰਲੇਖਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟਿੰਗ ਵਿੱਚ ਵਰਤੀ ਜਾਂਦੀ ਇੱਕ ਵਿਧੀ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਦੇ ਜਵਾਬ ਵਿੱਚ 'ਐਕਸੈਸ-ਕੰਟਰੋਲ-ਅਲੋ-ਓਰੀਜਨ' ਸਿਰਲੇਖ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਵਾਪਸ ਕੀਤਾ ਗਿਆ ਹੈ।
Authorization: Bearer Axios ਬੇਨਤੀ ਵਿੱਚ, ਇਹ ਸਿਰਲੇਖ ਪ੍ਰਮਾਣਿਕਤਾ ਲਈ ਇੱਕ ਬੇਅਰਰ ਟੋਕਨ ਪਾਸ ਕਰਦਾ ਹੈ। ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਬੈਕਐਂਡ ਬੇਨਤੀ ਕਰਨ ਵਾਲੇ ਗਾਹਕ ਦੀ ਪਛਾਣ ਦੀ ਪੁਸ਼ਟੀ ਕਰ ਸਕਦਾ ਹੈ।
useEffect() ਇੱਕ ਪ੍ਰਤੀਕਿਰਿਆ ਹੁੱਕ ਜੋ ਕੰਪੋਨੈਂਟ ਦੇ ਰੈਂਡਰ ਹੋਣ ਤੋਂ ਬਾਅਦ ਚੱਲਦਾ ਹੈ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਬੈਕਐਂਡ ਵਿੱਚ API ਕਾਲ ਨੂੰ ਟਰਿੱਗਰ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ, ਜਦੋਂ ਕੰਪੋਨੈਂਟ ਮਾਊਂਟ ਹੁੰਦਾ ਹੈ ਤਾਂ ਪ੍ਰੋਜੈਕਟ ਡੇਟਾ ਲਿਆਉਂਦਾ ਹੈ।
axios.get() HTTP GET ਬੇਨਤੀਆਂ ਕਰਨ ਲਈ Axios ਦੁਆਰਾ ਪ੍ਰਦਾਨ ਕੀਤੀ ਇੱਕ ਵਿਧੀ। ਇਸ ਸਥਿਤੀ ਵਿੱਚ, ਇਸਦੀ ਵਰਤੋਂ ਸਪਰਿੰਗ ਬੂਟ API ਨੂੰ ਬੇਨਤੀ ਭੇਜਣ ਅਤੇ ਪ੍ਰੋਜੈਕਟ ਡੇਟਾ ਨੂੰ ਮੁੜ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ।

ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ CORS ਗਲਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ

ਉਪਰੋਕਤ ਪ੍ਰਦਾਨ ਕੀਤੀਆਂ ਸਕ੍ਰਿਪਟਾਂ ਦਾ ਉਦੇਸ਼ ਦੀ ਸਮੱਸਿਆ ਨੂੰ ਹੱਲ ਕਰਨਾ ਹੈ CORS ਤਰੁੱਟੀਆਂ ਰਿਐਕਟ ਫਰੰਟਐਂਡ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਬੈਕਐਂਡ ਸੈੱਟਅੱਪ ਵਿੱਚ। ਗਲਤੀ ਉਦੋਂ ਹੁੰਦੀ ਹੈ ਜਦੋਂ 'http://localhost:8081' 'ਤੇ ਹੋਸਟ ਕੀਤਾ ਫਰੰਟਐਂਡ, 'http://localhost:8080' 'ਤੇ ਹੋਸਟ ਕੀਤੇ ਸਪਰਿੰਗ ਬੂਟ API ਨੂੰ GET ਬੇਨਤੀ ਕਰਨ ਦੀ ਕੋਸ਼ਿਸ਼ ਕਰਦਾ ਹੈ। ਬ੍ਰਾਊਜ਼ਰ ਅਣਅਧਿਕਾਰਤ ਅੰਤਰ-ਮੂਲ ਬੇਨਤੀਆਂ ਨੂੰ ਰੋਕਣ ਲਈ ਸਖ਼ਤ ਸੁਰੱਖਿਆ ਨਿਯਮਾਂ ਨੂੰ ਲਾਗੂ ਕਰਦੇ ਹਨ, ਜਿਸ ਕਾਰਨ ਇਹ CORS ਨੀਤੀਆਂ ਮੌਜੂਦ ਹਨ। ਦ WebMvcConfigurer ਸਪਰਿੰਗ ਬੂਟ ਬੈਕਐਂਡ ਸੰਰਚਨਾ ਵਿੱਚ ਕਲਾਸ CORS ਨਿਯਮਾਂ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ ਜੋ ਖਾਸ ਮੂਲ ਅਤੇ ਵਿਧੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦੇ ਹਨ, ਅੰਤ ਵਿੱਚ ਮੁੱਦੇ ਨੂੰ ਹੱਲ ਕਰਦੇ ਹਨ।

ਬੈਕਐਂਡ ਵਿੱਚ, `CorsConfig.java` ਫਾਈਲ ਇੱਕ ਸਪਰਿੰਗ ਬੂਟ ਕੌਂਫਿਗਰੇਸ਼ਨ ਕਲਾਸ ਨੂੰ ਪਰਿਭਾਸ਼ਿਤ ਕਰਦੀ ਹੈ। ਦ @ਬੀਨ ਅਤੇ @ਓਵਰਰਾਈਡ ਐਨੋਟੇਸ਼ਨਾਂ ਦੀ ਵਰਤੋਂ CORS ਸੰਰਚਨਾ ਨੂੰ ਇੰਜੈਕਟ ਕਰਨ ਅਤੇ ਅਨੁਕੂਲਿਤ ਕਰਨ ਲਈ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। `addCorsMappings()` ਵਿਧੀ ਵਿੱਚ, `allowedOrigins()` ਫੰਕਸ਼ਨ ਸਪਸ਼ਟ ਤੌਰ 'ਤੇ 'http://localhost:8081' ਤੋਂ ਬੇਨਤੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਬ੍ਰਾਊਜ਼ਰ ਇਸ ਮੂਲ ਨੂੰ ਇੱਕ ਭਰੋਸੇਯੋਗ ਸਰੋਤ ਵਜੋਂ ਪਛਾਣਦਾ ਹੈ। `allowedMethods()` ਨੂੰ ਸ਼ਾਮਲ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ GET, POST, ਅਤੇ OPTIONS ਸਮੇਤ ਸਾਰੀਆਂ HTTP ਵਿਧੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਹੈ। ਇਹ ਮਹੱਤਵਪੂਰਨ ਹੈ ਕਿਉਂਕਿ ਬ੍ਰਾਊਜ਼ਰ ਆਮ ਤੌਰ 'ਤੇ ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਪ੍ਰੀਫਲਾਈਟ OPTIONS ਬੇਨਤੀ ਭੇਜਦੇ ਹਨ ਕਿ ਕੀ ਅਸਲ GET ਬੇਨਤੀ ਦੀ ਇਜਾਜ਼ਤ ਹੈ।

ਫਰੰਟਐਂਡ 'ਤੇ, ਰੀਐਕਟ ਵਰਤ ਕੇ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਦਾ ਹੈ Axios, ਇੱਕ ਪ੍ਰਸਿੱਧ HTTP ਕਲਾਇੰਟ। `ProjectPage.tsx` ਫਾਈਲ ਦੇ `fetchData` ਫੰਕਸ਼ਨ ਵਿੱਚ, `axios.get()` ਫੰਕਸ਼ਨ ਸਪਰਿੰਗ ਬੂਟ ਬੈਕਐਂਡ ਨੂੰ ਇੱਕ GET ਬੇਨਤੀ ਭੇਜਦਾ ਹੈ। 'ਵਿਦ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਸ' ਵਿਕਲਪ ਸਹੀ 'ਤੇ ਸੈੱਟ ਕੀਤਾ ਗਿਆ ਹੈ, ਬੇਨਤੀ ਦੇ ਨਾਲ ਕੂਕੀਜ਼ ਅਤੇ ਪ੍ਰਮਾਣੀਕਰਨ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਨੂੰ ਭੇਜਣ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ। ਇਸ ਤੋਂ ਇਲਾਵਾ, ਅਧਿਕਾਰਤ ਸਿਰਲੇਖ ਨੂੰ ਉਪਭੋਗਤਾ ਦੇ ਟੋਕਨ ਨੂੰ ਪਾਸ ਕਰਨ ਲਈ ਸ਼ਾਮਲ ਕੀਤਾ ਗਿਆ ਹੈ, ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਕਿ ਬੇਨਤੀ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰਮਾਣਿਤ ਕੀਤਾ ਗਿਆ ਹੈ। ਇਹਨਾਂ ਸੰਰਚਨਾਵਾਂ ਤੋਂ ਬਿਨਾਂ, ਬ੍ਰਾਊਜ਼ਰ ਸੁਰੱਖਿਆ ਕਾਰਨਾਂ ਕਰਕੇ ਬੇਨਤੀ ਨੂੰ ਬਲੌਕ ਕਰ ਦੇਵੇਗਾ।

ਅੰਤ ਵਿੱਚ, ਯੂਨਿਟ ਟੈਸਟ ਫਾਈਲ, `CorsTest.java`, ਪ੍ਰਮਾਣਿਤ ਕਰਦੀ ਹੈ ਕਿ CORS ਸੰਰਚਨਾ ਉਮੀਦ ਅਨੁਸਾਰ ਕੰਮ ਕਰ ਰਹੀ ਹੈ। ਇਹ ਟੈਸਟ ਬੈਕਐਂਡ API ਲਈ ਇੱਕ HTTP ਵਿਕਲਪ ਬੇਨਤੀ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ, ਜੋ ਬ੍ਰਾਊਜ਼ਰ ਦੁਆਰਾ ਕੀਤੀ ਗਈ ਇੱਕ ਅਸਲੀ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀ ਦੀ ਨਕਲ ਕਰਦਾ ਹੈ। ਟੈਸਟ ਜਾਂਚ ਕਰਦਾ ਹੈ ਕਿ ਜਵਾਬ ਵਿੱਚ ਸਹੀ ਸਿਰਲੇਖ ਸ਼ਾਮਲ ਹਨ, ਜਿਵੇਂ ਕਿ ਪਹੁੰਚ-ਨਿਯੰਤਰਣ-ਮਨਜ਼ੂਰ-ਮੂਲ, ਜੋ ਕਿ ਫਰੰਟਐਂਡ ਤੋਂ ਅੰਤਰ-ਮੂਲ ਬੇਨਤੀਆਂ ਦੀ ਆਗਿਆ ਦਿੰਦਾ ਹੈ। `MockMvcResultMatchers.header()` ਵਿਧੀ ਇਹ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ ਕਿ ਸਰਵਰ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਦਾ ਸਹੀ ਢੰਗ ਨਾਲ ਜਵਾਬ ਦੇ ਰਿਹਾ ਹੈ। ਯੂਨਿਟ ਟੈਸਟਾਂ ਨੂੰ ਸ਼ਾਮਲ ਕਰਕੇ, ਡਿਵੈਲਪਰ ਇਹ ਯਕੀਨੀ ਬਣਾ ਸਕਦੇ ਹਨ ਕਿ ਉਹਨਾਂ ਦੀ CORS ਸੰਰਚਨਾ ਵੱਖ-ਵੱਖ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਭਰੋਸੇਯੋਗ ਅਤੇ ਕਾਰਜਸ਼ੀਲ ਹੈ।

ਕੌਂਫਿਗਰੇਸ਼ਨ ਟਵੀਕਸ ਦੇ ਨਾਲ ਰੀਐਕਟ + ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ CORS ਗਲਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨਾ

ਪਹੁੰਚ 1: ਬੈਕਐਂਡ ਵਿੱਚ ਸਪਰਿੰਗ ਬੂਟ CORS ਸੰਰਚਨਾ ਦੀ ਵਰਤੋਂ ਕਰਨਾ

// CorsConfig.java
@Configuration
public class CorsConfig implements WebMvcConfigurer {
   @Override
   public void addCorsMappings(CorsRegistry registry) {
      registry.addMapping("/")
              .allowedOrigins("http://localhost:8081")
              .allowedMethods("GET", "POST", "PUT", "DELETE", "OPTIONS")
              .allowedHeaders("*")
              .allowCredentials(true);
   }
}

ਪ੍ਰਤੀਕਿਰਿਆ ਵਿੱਚ ਕੂਕੀਜ਼ ਨਾਲ ਸਹੀ CORS ਹੈਂਡਲਿੰਗ ਲਈ Axios ਦੀ ਵਰਤੋਂ ਕਰਨਾ

ਪਹੁੰਚ 2: ਕਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਲਈ ਫਰੰਟਐਂਡ ਐਕਸੀਓਸ ਕੌਂਫਿਗਰੇਸ਼ਨ 'ਤੇ ਪ੍ਰਤੀਕਿਰਿਆ ਕਰੋ

// ProjectPage.tsx
const ProjectsPage = () => {
   const [projectsData, setProjectsData] = useState<ProjectsData[]>([]);
   const projectsUrl = 'http://localhost:8080/api/projects/admin/toinspection';
   useEffect(() => { fetchData(); }, []);
   const fetchData = async () => {
      const token = Cookies.get('token');
      try {
         const response = await axios.get<ProjectsData[]>(projectsUrl, {
            headers: { "Content-Type": "application/json", Authorization: `Bearer ${token}` },
            withCredentials: true
         });
         setProjectsData(response.data);
      } catch (error) {
         console.error("Error fetching projects:", error);
      }
   };
   return (
      <div>
         <AdminPageTemplate type="projects" children=<AdminModContent data={projectsData} />/>
      </div>
   );
};
export default ProjectsPage;

ਬਸੰਤ ਬੂਟ ਵਿੱਚ ਯੂਨਿਟ ਟੈਸਟਾਂ ਨਾਲ CORS ਨੀਤੀਆਂ ਦੀ ਜਾਂਚ ਕਰਨਾ

ਪਹੁੰਚ 3: CORS ਨੀਤੀ ਨੂੰ ਪ੍ਰਮਾਣਿਤ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟ ਲਿਖਣਾ

// CorsTest.java
@RunWith(SpringRunner.class)
@WebMvcTest
public class CorsTest {
   @Autowired
   private MockMvc mockMvc;
   @Test
   public void testCorsHeaders() throws Exception {
      mockMvc.perform(MockMvcRequestBuilders.options("/api/projects/admin/toinspection")
              .header(HttpHeaders.ORIGIN, "http://localhost:8081")
              .header(HttpHeaders.ACCESS_CONTROL_REQUEST_METHOD, "GET"))
              .andExpect(MockMvcResultMatchers.status().isOk())
              .andExpect(MockMvcResultMatchers.header().exists("Access-Control-Allow-Origin"))
              .andExpect(MockMvcResultMatchers.header().string("Access-Control-Allow-Origin", "http://localhost:8081"));
   }
}

ਸੁਰੱਖਿਆ ਅਤੇ API ਡਿਜ਼ਾਈਨ ਦੇ ਸੰਦਰਭ ਵਿੱਚ CORS ਦੀ ਪੜਚੋਲ ਕਰਨਾ

ਨਾਲ ਨਜਿੱਠਣ ਵੇਲੇ CORS (ਕਰਾਸ-ਓਰੀਜਨ ਰਿਸੋਰਸ ਸ਼ੇਅਰਿੰਗ) ਆਧੁਨਿਕ ਵੈੱਬ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ, ਇਸਦੇ ਪਿੱਛੇ ਸੁਰੱਖਿਆ ਪ੍ਰਭਾਵਾਂ ਨੂੰ ਸਮਝਣਾ ਮਹੱਤਵਪੂਰਨ ਹੈ। CORS ਨੂੰ ਉਪਭੋਗਤਾਵਾਂ ਦੀ ਤਰਫੋਂ ਅਣਅਧਿਕਾਰਤ API ਬੇਨਤੀਆਂ ਕਰਨ ਤੋਂ ਖਤਰਨਾਕ ਵੈਬਸਾਈਟਾਂ ਨੂੰ ਰੋਕਣ ਲਈ ਬ੍ਰਾਉਜ਼ਰਾਂ ਦੁਆਰਾ ਇੱਕ ਸੁਰੱਖਿਆ ਉਪਾਅ ਵਜੋਂ ਲਾਗੂ ਕੀਤਾ ਜਾਂਦਾ ਹੈ। ਇਹ ਵਿਸ਼ੇਸ਼ ਤੌਰ 'ਤੇ ਉਹਨਾਂ ਸਥਿਤੀਆਂ ਵਿੱਚ ਮਹੱਤਵਪੂਰਨ ਹੁੰਦਾ ਹੈ ਜਿੱਥੇ ਸੰਵੇਦਨਸ਼ੀਲ ਡੇਟਾ ਨੂੰ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਸੇਵਾਵਾਂ, ਜਿਵੇਂ ਪ੍ਰਮਾਣਿਕਤਾ ਟੋਕਨਾਂ ਅਤੇ ਉਪਭੋਗਤਾ ਪ੍ਰਮਾਣ ਪੱਤਰਾਂ ਵਿਚਕਾਰ ਬਦਲਿਆ ਜਾਂਦਾ ਹੈ। ਜਦੋਂ ਇੱਕ ਸਪਰਿੰਗ ਬੂਟ ਬੈਕਐਂਡ ਵਿੱਚ CORS ਸੈਟ ਅਪ ਕਰਦੇ ਹੋ, ਤਾਂ ਸੁਰੱਖਿਆ ਸੰਰਚਨਾ ਨੂੰ ਸਿਸਟਮ ਦੇ ਆਰਕੀਟੈਕਚਰ ਦਾ ਇੱਕ ਮੁੱਖ ਤੱਤ ਬਣਾਉਂਦੇ ਹੋਏ, ਸਿਰਫ਼ ਭਰੋਸੇਯੋਗ ਮੂਲ ਨੂੰ ਸੁਰੱਖਿਅਤ ਸਰੋਤਾਂ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੀ ਇਜਾਜ਼ਤ ਦੇਣਾ ਜ਼ਰੂਰੀ ਹੈ।

ਇੱਕ ਹੋਰ ਮਹੱਤਵਪੂਰਨ ਪਹਿਲੂ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਨੂੰ ਸੰਭਾਲਣਾ ਹੈ, ਜੋ ਅਸਲ GET ਜਾਂ POST ਬੇਨਤੀ ਤੋਂ ਪਹਿਲਾਂ ਬ੍ਰਾਊਜ਼ਰ ਦੁਆਰਾ ਕੀਤੀਆਂ ਗਈਆਂ ਆਟੋਮੈਟਿਕ ਬੇਨਤੀਆਂ ਹਨ। ਇਹ ਉਦੋਂ ਵਾਪਰਦਾ ਹੈ ਜਦੋਂ ਕਲਾਇੰਟ ਨੂੰ ਇਹ ਪੁਸ਼ਟੀ ਕਰਨ ਦੀ ਲੋੜ ਹੁੰਦੀ ਹੈ ਕਿ ਕੀ ਸਰਵਰ ਕ੍ਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਦੀ ਇਜਾਜ਼ਤ ਦਿੰਦਾ ਹੈ ਅਤੇ ਖਾਸ ਸਿਰਲੇਖਾਂ ਜਾਂ ਵਿਧੀਆਂ ਦਾ ਸਮਰਥਨ ਕਰਦਾ ਹੈ। ਕੁਝ ਮਾਮਲਿਆਂ ਵਿੱਚ, ਇਹਨਾਂ ਨੂੰ ਸੰਭਾਲਣ ਵਿੱਚ ਗਲਤ ਸੰਰਚਨਾਵਾਂ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਸਮੱਸਿਆਵਾਂ ਪੈਦਾ ਕਰ ਸਕਦੀਆਂ ਹਨ, ਨਤੀਜੇ ਵਜੋਂ CORS ਗਲਤੀਆਂ ਹੋ ਸਕਦੀਆਂ ਹਨ ਭਾਵੇਂ ਅਸਲ ਬੇਨਤੀ ਪੋਸਟਮੈਨ ਵਰਗੇ ਟੂਲਸ ਵਿੱਚ ਵਧੀਆ ਕੰਮ ਕਰਦੀ ਹੈ। ਸਪਰਿੰਗ ਬੂਟ ਦੀ 'CorsRegistry' ਨੂੰ ਸਹੀ ਸਿਰਲੇਖਾਂ ਅਤੇ ਤਰੀਕਿਆਂ ਨਾਲ ਕੌਂਫਿਗਰ ਕਰਨਾ ਯਕੀਨੀ ਬਣਾਉਂਦਾ ਹੈ ਕਿ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਪ੍ਰੋਸੈਸ ਕੀਤਾ ਗਿਆ ਹੈ, ਜਿਸ ਨਾਲ ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਵਿਚਕਾਰ ਸੁਚਾਰੂ ਪਰਸਪਰ ਪ੍ਰਭਾਵ ਪੈਂਦਾ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, CORS ਹੈਂਡਲਿੰਗ ਸਥਿਰ ਜਾਂ ਇੱਕ-ਆਕਾਰ-ਫਿੱਟ-ਸਭ ਨਹੀਂ ਹੋਣੀ ਚਾਹੀਦੀ। ਗਤੀਸ਼ੀਲ ਵਾਤਾਵਰਣਾਂ ਵਿੱਚ ਜਿਵੇਂ ਕਿ ਮਾਈਕ੍ਰੋਸੇਵਾਵਾਂ ਨਾਲ ਪ੍ਰਬੰਧਿਤ ਕੀਤਾ ਜਾਂਦਾ ਹੈ, ਵੱਖ-ਵੱਖ APIs ਦੀਆਂ ਵੱਖ-ਵੱਖ ਸੁਰੱਖਿਆ ਲੋੜਾਂ ਹੋ ਸਕਦੀਆਂ ਹਨ। ਕੁਝ API ਨੂੰ ਸਿਰਫ਼ ਕੁਝ ਖਾਸ ਤਰੀਕਿਆਂ ਦਾ ਪਰਦਾਫਾਸ਼ ਕਰਨ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ, ਜਦੋਂ ਕਿ ਹੋਰਾਂ ਨੂੰ ਮੂਲ 'ਤੇ ਸਖ਼ਤ ਨਿਯੰਤਰਣ ਦੀ ਲੋੜ ਹੋ ਸਕਦੀ ਹੈ। ਇਹ ਉਹ ਥਾਂ ਹੈ ਜਿੱਥੇ ਹਰੇਕ ਅੰਤਮ ਬਿੰਦੂ ਲਈ CORS ਸੰਰਚਨਾ ਨੂੰ ਠੀਕ ਕਰਨਾ ਮਹੱਤਵਪੂਰਨ ਬਣ ਜਾਂਦਾ ਹੈ। ਉਚਿਤ CORS ਪ੍ਰਬੰਧਨ ਬੇਲੋੜੀਆਂ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਨੂੰ ਘਟਾ ਕੇ ਅਤੇ ਨਿਰਵਿਘਨ ਉਪਭੋਗਤਾ ਇੰਟਰੈਕਸ਼ਨ ਨੂੰ ਯਕੀਨੀ ਬਣਾ ਕੇ API ਪ੍ਰਦਰਸ਼ਨ ਨੂੰ ਅਨੁਕੂਲ ਬਣਾਉਣ ਵਿੱਚ ਵੀ ਮਦਦ ਕਰਦਾ ਹੈ।

React ਅਤੇ Spring Boot ਵਿੱਚ CORS ਬਾਰੇ ਅਕਸਰ ਪੁੱਛੇ ਜਾਂਦੇ ਸਵਾਲ

  1. CORS ਕੀ ਹੈ, ਅਤੇ ਮੈਨੂੰ ਇਸਦੀ ਲੋੜ ਕਿਉਂ ਹੈ?
  2. CORS ਇੱਕ ਸੁਰੱਖਿਆ ਵਿਧੀ ਹੈ ਜੋ ਬ੍ਰਾਊਜ਼ਰਾਂ ਦੁਆਰਾ ਕ੍ਰਾਸ-ਓਰੀਜਨ ਬੇਨਤੀਆਂ ਨੂੰ ਆਗਿਆ ਦੇਣ ਜਾਂ ਬਲੌਕ ਕਰਨ ਲਈ ਲਾਗੂ ਕੀਤੀ ਜਾਂਦੀ ਹੈ। ਤੁਹਾਨੂੰ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣ ਲਈ ਇਸਦੀ ਲੋੜ ਹੈ ਕਿ ਸਿਰਫ਼ ਭਰੋਸੇਯੋਗ ਮੂਲ ਹੀ ਤੁਹਾਡੇ API ਤੱਕ ਪਹੁੰਚ ਕਰ ਸਕਦੇ ਹਨ।
  3. ਮੈਂ ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ CORS ਨੂੰ ਕਿਵੇਂ ਸਮਰੱਥ ਕਰਾਂ?
  4. ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ, ਤੁਸੀਂ ਕੌਂਫਿਗਰ ਕਰਕੇ CORS ਨੂੰ ਸਮਰੱਥ ਕਰ ਸਕਦੇ ਹੋ @WebMvcConfigurer ਇੰਟਰਫੇਸ ਅਤੇ ਪ੍ਰਵਾਨਿਤ ਮੂਲ, ਵਿਧੀਆਂ ਅਤੇ ਸਿਰਲੇਖਾਂ ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ allowedOrigins ਅਤੇ allowedMethods.
  5. ਮੇਰੀ ਬੇਨਤੀ ਪੋਸਟਮੈਨ ਵਿੱਚ ਕੰਮ ਕਿਉਂ ਕਰਦੀ ਹੈ ਪਰ ਬ੍ਰਾਊਜ਼ਰ ਵਿੱਚ ਅਸਫਲ ਕਿਉਂ ਹੁੰਦੀ ਹੈ?
  6. ਪੋਸਟਮੈਨ CORS ਵਰਗੀਆਂ ਬ੍ਰਾਊਜ਼ਰ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਨੂੰ ਬਾਈਪਾਸ ਕਰਦਾ ਹੈ, ਪਰ ਬ੍ਰਾਊਜ਼ਰ ਉਹਨਾਂ ਨੂੰ ਸਖਤੀ ਨਾਲ ਲਾਗੂ ਕਰਦੇ ਹਨ। ਯਕੀਨੀ ਬਣਾਓ ਕਿ ਤੁਹਾਡਾ ਸਰਵਰ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਸਹੀ CORS ਸਿਰਲੇਖ ਭੇਜਦਾ ਹੈ।
  7. ਇੱਕ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀ ਕੀ ਹੈ?
  8. ਇੱਕ ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀ ਇੱਕ ਆਟੋਮੈਟਿਕ ਹੈ OPTIONS ਇਹ ਜਾਂਚ ਕਰਨ ਲਈ ਕਿ ਕੀ ਅਸਲ ਬੇਨਤੀ ਨੂੰ ਸਰਵਰ ਦੁਆਰਾ ਇਜਾਜ਼ਤ ਦਿੱਤੀ ਗਈ ਹੈ, ਖਾਸ ਕਰਕੇ ਗੈਰ-ਸਧਾਰਨ HTTP ਬੇਨਤੀਆਂ ਲਈ ਬ੍ਰਾਊਜ਼ਰ ਦੁਆਰਾ ਭੇਜੀ ਗਈ ਬੇਨਤੀ।
  9. ਮੈਂ ਆਪਣੇ CORS ਸੈੱਟਅੱਪ ਦੀ ਜਾਂਚ ਕਿਵੇਂ ਕਰ ਸਕਦਾ ਹਾਂ?
  10. ਤੁਸੀਂ ਵਰਤ ਕੇ ਆਪਣੀ CORS ਸੰਰਚਨਾ ਦੀ ਜਾਂਚ ਕਰ ਸਕਦੇ ਹੋ MockMvcRequestBuilders.options() ਪ੍ਰੀਫਲਾਈਟ ਬੇਨਤੀਆਂ ਦੀ ਨਕਲ ਕਰਨ ਅਤੇ ਸਰਵਰ ਜਵਾਬਾਂ ਦੀ ਪੁਸ਼ਟੀ ਕਰਨ ਲਈ ਯੂਨਿਟ ਟੈਸਟਾਂ ਵਿੱਚ।

ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ CORS 'ਤੇ ਅੰਤਿਮ ਵਿਚਾਰ

ਹੱਲ ਕਰਨਾ CORS ਤਰੁੱਟੀਆਂ ਰੀਐਕਟ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਵਾਲੀਆਂ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਬ੍ਰਾਊਜ਼ਰਾਂ ਦੁਆਰਾ ਲਾਗੂ ਸੁਰੱਖਿਆ ਨੀਤੀਆਂ ਦੀ ਸਪਸ਼ਟ ਸਮਝ ਸ਼ਾਮਲ ਹੁੰਦੀ ਹੈ। ਸਪਰਿੰਗ ਬੂਟ ਬੈਕਐਂਡ ਵਿੱਚ ਮਨਜ਼ੂਰਸ਼ੁਦਾ ਮੂਲ ਅਤੇ ਢੰਗਾਂ ਨੂੰ ਸਹੀ ਢੰਗ ਨਾਲ ਸੰਰਚਿਤ ਕਰਕੇ, ਇਹਨਾਂ ਵਿੱਚੋਂ ਜ਼ਿਆਦਾਤਰ ਮੁੱਦਿਆਂ ਨੂੰ ਰੋਕਿਆ ਜਾ ਸਕਦਾ ਹੈ।

ਇਸ ਤੋਂ ਇਲਾਵਾ, ਬੇਨਤੀਆਂ ਵਿੱਚ ਟੋਕਨਾਂ ਨੂੰ ਸੁਰੱਖਿਅਤ ਢੰਗ ਨਾਲ ਸੰਭਾਲਣਾ ਅਤੇ ਇਹ ਯਕੀਨੀ ਬਣਾਉਣਾ ਕਿ ਸਹੀ ਸਿਰਲੇਖ ਭੇਜੇ ਗਏ ਹਨ, ਫਰੰਟਐਂਡ ਅਤੇ ਬੈਕਐਂਡ ਸਿਸਟਮਾਂ ਵਿਚਕਾਰ ਸੁਚਾਰੂ ਸੰਚਾਰ ਨੂੰ ਯਕੀਨੀ ਬਣਾਏਗਾ। ਇਹ ਗਾਈਡ ਡਿਵੈਲਪਰਾਂ ਦੁਆਰਾ ਦਰਪੇਸ਼ ਆਮ ਚੁਣੌਤੀਆਂ ਨੂੰ ਹੱਲ ਕਰਨ ਵਿੱਚ ਮਦਦ ਕਰਦੀ ਹੈ, ਸੁਰੱਖਿਅਤ ਅਤੇ ਕਾਰਜਸ਼ੀਲ ਅੰਤਰ-ਮੂਲ ਬੇਨਤੀਆਂ ਨੂੰ ਯਕੀਨੀ ਬਣਾਉਂਦੀ ਹੈ।

ਪ੍ਰਤੀਕਿਰਿਆ ਅਤੇ ਸਪਰਿੰਗ ਬੂਟ ਵਿੱਚ CORS ਹੱਲਾਂ ਲਈ ਸਰੋਤ ਅਤੇ ਹਵਾਲੇ
  1. ਸੰਭਾਲਣ ਬਾਰੇ ਵਿਸਤ੍ਰਿਤ ਜਾਣਕਾਰੀ CORS ਸਪਰਿੰਗ ਬੂਟ ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ ਤਰੁੱਟੀਆਂ ਅਧਿਕਾਰਤ ਬਸੰਤ ਦਸਤਾਵੇਜ਼ਾਂ ਵਿੱਚ ਉਪਲਬਧ ਹਨ। ਬਸੰਤ ਫਰੇਮਵਰਕ CORS ਦਸਤਾਵੇਜ਼
  2. Axios ਦੀ ਵਰਤੋਂ ਕਰਦੇ ਹੋਏ React ਐਪਲੀਕੇਸ਼ਨਾਂ ਵਿੱਚ CORS ਨੂੰ ਕਿਵੇਂ ਪ੍ਰਬੰਧਿਤ ਕਰਨਾ ਹੈ ਇਹ ਸਮਝਣ ਲਈ, ਤੁਸੀਂ ਇਸ ਗਾਈਡ ਦਾ ਹਵਾਲਾ ਦੇ ਸਕਦੇ ਹੋ। Axios ਬੇਨਤੀ ਸੰਰਚਨਾ
  3. Baeldung ਦਾ ਇਹ ਲੇਖ ਸਪਰਿੰਗ ਬੂਟ ਵਾਤਾਵਰਨ ਵਿੱਚ CORS ਨੂੰ ਕੌਂਫਿਗਰ ਕਰਨ ਲਈ ਸਮਝ ਪ੍ਰਦਾਨ ਕਰਦਾ ਹੈ। ਬੇਲਡੰਗ - ਸਪਰਿੰਗ ਬੂਟ CORS ਗਾਈਡ
  4. ਮੋਜ਼ੀਲਾ ਡਿਵੈਲਪਰ ਨੈੱਟਵਰਕ (MDN) CORS ਅਤੇ ਵੈੱਬ ਸੁਰੱਖਿਆ ਵਿੱਚ ਇਸਦੀ ਮਹੱਤਤਾ ਦੀ ਇੱਕ ਵਿਆਪਕ ਵਿਆਖਿਆ ਪੇਸ਼ ਕਰਦਾ ਹੈ। MDN ਵੈੱਬ ਡੌਕਸ - CORS